Home » Php » PHP read from uploaded text file?

PHP read from uploaded text file?

Posted by: admin April 23, 2020 Leave a comment

Questions:

If I upload a text file via a form, is it possible to output its contents directly from the $_FILES variable rather than saving it onto the server first? I know this is a security risk, but it will only be run on a local machine.

Any advice appreciated.

Thanks.

How to&Answers:

The file is saved to temp directory the moment it’s uploaded, but you can use $_FILES['uploadedfile']['tmp_name'] to read it without having to save in a permanent place.

Answer:

Doing

file_get_contents($_FILES['uploadedfile']['tmp_name']); 

is valid however you should also check to make sure that the file was uploaded through a form and that no errors occurred during upload:

if ($_FILES['uploadedfile']['error'] == UPLOAD_ERR_OK               //checks for errors
      && is_uploaded_file($_FILES['uploadedfile']['tmp_name'])) { //checks that file is uploaded
  echo file_get_contents($_FILES['uploadedfile']['tmp_name']); 
}

A helpful link is http://us2.php.net/manual/en/features.file-upload.php

Answer:

Unfortunately, no. At least not through the $_FILES variable. Sorry.

EDIT: It is always saved as the temp file in $_FILES and you’ll always have to use that one for content.