-2

I am selecting an image through i am getting name of a image. now i want to save that image in specific folder. here is my html code for photo_upload.php below:-

 <html>
    <body>
    <form enctype="multipart/form-data">
    <label>enter name :</label>
    <input type="text" name="txt" /><br><br>
    <label>Add your file here :</label>
    <input type="file" id="upload" name="upload"><br><br>
    <input type="submit" value="submit">
    </form>
    </body>
    </html>
and here is code for upload.php

<?php 
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

echo "hello to uploadprocessor page";
$name=$_REQUEST['txt'];
$image=$_REQUEST['upload'];
echo "<br><br> $name <br> $image";

$target_dir = "/var/www/html/php_example/photo_upload prg/new photos      folder/";
$target_file = $target_dir . basename($_FILES["$image"]["name"]);
$uploadOk = 1;

if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
if (move_uploaded_file($_FILES["$image"]["tmp_name"], $target_file)) {
    echo "The file ". basename( $_FILES["tmp_name"]["name"]). " has been  uploaded.";
} else {
    echo "Sorry, there was an error uploading your file.";
}
}
?>
1

2 Answers 2

1

Remove the onclick attribute on your button:

Try this: gotten from Here.

<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
    if($check !== false) {
        echo "File is an image - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
        echo "File is not an image.";
        $uploadOk = 0;
    }
}
// Check if file already exists
if (file_exists($target_file)) {
    echo "Sorry, file already exists.";
    $uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
    $uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }
}
?>

The image path would be where you save it, depending on the name of the folder

Sign up to request clarification or add additional context in comments.

Comments

0
$tmp_path = $_FILES['txtImage']['tmp_name'];

$dest_path = path_where_in_your_server_you_want_this_image_to_be_moved.$_FILES['textImage']['name']; (eg: 'images/'.$_FILES['name'])

if(move_uploaded_file($tmp_path,$dest_path)){ //this will move the file from tmp   location in server to the destination you provide in the second parameter

$sql = "INSERT INTO tblquestions (q_category, q_question, q_image, q_correct, q_answer2,  q_answer3, q_answer4) VALUES ('$_POST[txtCategory]','$_POST[txtQuestion]','$dest_path','$_POST[txtCorrect]','$_POST[txtChoice2]','$_POST[txtChoice3]','$_POST[txtChoice4]')";

}else{

 echo "Image could not be uploaded"

}

1 Comment

do not forget to clean the input before posting it. mysqli_real_escape_string is an option

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.