Leena Patel Leena Patel - 10 months ago 77
PHP Question

move_uploaded_file doesnt work

I am trying to upload an image via a PHP script.

In the script all conditions are true while I upload the image but move_uploaded_file function doesn't seem to work.

What may be the problem?

My HTML code is

<form id="register_form" action="" method="post" enctype="multipart/form-
Select image to Upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">

PHP Script:

$target_dir = "/home/infibusiness1/Desktop/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 $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.";
echo "<br>File Name : ".$_FILES['fileToUpload']['tmp_name'];

Answer Source

Ensure that the web server has write permission on the target directory? You will need to know what user the web server is running as or if security isn't a concern try

chmod 777 /home/infibusiness1/Desktop/uploads/