Jump to content

How to redirect a php file upload form to URL?


etopal

Recommended Posts

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.

 

Link to comment
Share on other sites

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 by etopal
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.