Search code examples
phpfile-uploadwindows-7cygwin

Can't find form uploaded files


Problem solved, see bottom

As per the title I can't find any files uploaded through a form. A little background, here are my files and output:

test.php

<form action="readfile.php" method="post" enctype="multipart/form-data">
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <input type="file" name="userfile" />
    <input type="submit"/>

</form>

readfile.php

<?php

echo "upload_tmp_dir=".ini_get("upload_tmp_dir")."\n";

var_dump($_FILES);

?>

readfile.php output

ini_set= upload_tmp_dir= 
array(1) {   ["userfile"]=>   array(5) {
    ["name"]=>
    string(18) "flashcardinput.txt"
    ["type"]=>
    string(10) "text/plain"
    ["tmp_name"]=>
    string(14) "/tmp/phpau1N3q"
    ["error"]=>
    int(0)
    ["size"]=>
    int(106)   } }

I'm using cygwin on windows 7, and can't find phpau1N3q in /tmp or C:\Windows\Temp . As you can see the PHP setting upload_tmp_dir is undefined, but using ini_set("upload_tmp_dir","/somedir") seemingly has no effect.

Has anyone faced this problem before? Thanks!

EDIT I didn't know the file would be deleted automatically upon script conclusion. Adding

if(!move_uploaded_file($_FILES["userfile"]["tmp_name"], "/uploads/upload.txt")){
    echo "MOVE FAILED\n";
}

saved it in /uploads/upload.txt


Solution

  • I think you should move your uploaded file to a new directory or database.

    use move-uploaded-file function