Tomy43 Posted December 26, 2019 Share Posted December 26, 2019 i made a file with form codes and another php file for uploading such as below : <form action="upload.php" method="post" enctype="multipart/form-data"> Select image to upload: <input type="file" name="fileToUpload" id="fileToUpload"> <input type="submit" value="Upload Image" name="submit"> </form> and in another file name(upload.php): <?php $target_dir = "uploads/"; $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); $uploadOk = 1; $imageFileType = strtolower(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"] > 5000000) { 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."; } } ?> i use wamp server and i got an error while uploading an image. the error is attached below. please help me to fix my problem. thank you so much. Link to comment Share on other sites More sharing options...
Funce Posted January 7, 2020 Share Posted January 7, 2020 You need to make sure you're using an absolute path when referring to the target directory. PHP has no concept of relative paths Nevermind this part You can generally access the web root by using <?php $_SERVER['DOCUMENT_ROOT'] Alternatively, you can use <?php __DIR__ This will create an absolute path of the current directory of the running file. So this one may more easily fit into your current code. Give it a try. Link to comment Share on other sites More sharing options...
Ingolme Posted January 7, 2020 Share Posted January 7, 2020 The reason that the script is not working is likely because the "uploads" directory has not yet been created. You can use file_exists() to check if the directory exists yet and if it does not you can use mkdir() to create it. PHP does understand relative paths. The only reason you need to use __DIR__ is if your script is being included in another file or if the current working directory has been changed. The working directory may have been changed with the chdir() function. Link to comment Share on other sites More sharing options...
Funce Posted January 7, 2020 Share Posted January 7, 2020 11 minutes ago, Ingolme said: PHP does understand relative paths. Oh heck my bad lmao Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now