Hi there,

I have some code which quite nicely uploads PDF files to the server:

if((!empty($_FILES["uploaded_file"])) && ($_FILES['uploaded_file']['error'] == 0)) {
  //Check if the file is JPEG image and it's size is less than 350Kb
  $filename = basename($_FILES['uploaded_file']['name']);
  $ext = substr($filename, strrpos($filename, '.') + 1);
  if (($ext == "pdf") && ($_FILES["uploaded_file"]["type"] == "application/pdf") &&
    ($_FILES["uploaded_file"]["size"] < 4550000)) {
    //Determine the path to which we want to save this file
      $newname = dirname(__FILE__).'/Invoices/'.$filename;
      //Check if the file with the same name is already exists on the server
      if (!file_exists($newname)) {
        //Attempt to move the uploaded file to it's new place
        if ((move_uploaded_file($_FILES['uploaded_file']['tmp_name'],$newname))) {
           echo "It's done! The file has been saved as: ".$newname;
        } else {
           echo "Error: A problem occurred during file upload!";
        }
      } else {
         echo "Error: File ".$_FILES["uploaded_file"]["name"]." already exists";
      }
  } else {
     echo "Error: Only .pdf images are accepted for upload";
  }
} else {
 echo "Error: No file uploaded";
}
$varname = $_POST[$newname];
echo "<SCRIPT LANGUAGE='javascript'>refreshParent();</SCRIPT>";
?>

HTML:

<form enctype="multipart/form-data" action="upload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
Choose a file to upload: <input name="uploaded_file" type="file" />   <br>
<input type="submit" value="Upload" />
</form>

What I would like to do is have the file upload, then return the file path to a textbox on the parent webpage. Any idea how to close my upload.php page and return the file path?

Thanks in advance,

Mapper99

You already did echoed the uploaded file path on the server.
you just need to show the same as a innerHTML of the textbox.

I havent tested this, try this if its work for you -

if ((move_uploaded_file($_FILES['uploaded_file']['tmp_name'],$newname))) {
           echo "It's done! The file has been saved as: ".$newname;
		   $str = "document.write('javascript.getElementById('txtReturnPath').innerHTML = $newname ');"
<form enctype="multipart/form-data" action="upload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
Choose a file to upload: <input name="uploaded_file" type="file" />   <br>
<input type="submit" value="Upload" />
<br><br>
File Path on Server: <input type="text" name="txtReturnPath" id="txtReturnPath"  />
</form>
</body>
</html>

Thanks for your help. This should work. The problem is that there are two php files being used. When I click on the upload button on my first PHP page, the new PHP page loads, executes the upload, and lets the user know what happened. I need this page to close (or, not even display at all), then update a text box on the parent page. Does this make sense?

Thanks

Thanks for this post

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.