etopal Posted November 4, 2017 Share Posted November 4, 2017 I have a working (image) file upload form, BUT currently after uploading, it opens a "blank" page stating the upload progress (e.g. "File is an image - image/jpeg.The file 01.jpg has been uploaded.").Is it possible, after uploading, to go to URL instead of this simple message? Lets say either error.php or sent.php, so that it doesn't take the user away from the website itself.Here's the code: <?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"] > 10000000) { 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."; } } ?> <form action="upload.php" method="post" enctype="multipart/form-data" id="ajax-contact-form"> Valitse ladattavat tiedostot: <input type="file" name="fileToUpload" id="fileToUpload" /> <input type="submit" value="Lähetä" name="submit"> </form> I'm not completely familiar with php, so my method here might be very wrong, but I did earlier try to replace the echo lines with header ('Location: http://www.example.com/');exit; and similar options. However, this only brings up a completely blank page. Quote Link to comment Share on other sites More sharing options...
requinix Posted November 5, 2017 Share Posted November 5, 2017 What's the version of your code that used header() and exit? Quote Link to comment Share on other sites More sharing options...
etopal Posted November 5, 2017 Author Share Posted November 5, 2017 (edited) What's the version of your code that used header() and exit? Umm.. I tried it in various ways; such as replacing every single echo with header, replacing some of them, adding header at the very end... ^^' This is kinda the problem when you don't reeeeally understand the code (like the bottom line of how it works), only playing with it and trying what works. But now I've tried to get it working for hours and hours, without success. Where would you place the header() and exit, so that it should, at least in theory, work? I'm losing my mind over this... Edited November 5, 2017 by etopal Quote Link to comment Share on other sites More sharing options...
requinix Posted November 5, 2017 Share Posted November 5, 2017 I know you've described what you did, but what I want to know is what you actually did. As in the code itself. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.