可以';找不到表单上载的文件


Can't find form uploaded files

问题已解决,请参阅底部

根据标题,我找不到任何通过表格上传的文件。有一点背景,这里是我的文件和输出:

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输出

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)   } }

我在windows 7上使用cygwin,在/tmp或C:''windows''Temp中找不到phpau1N3q。正如您所看到的,PHP设置upload_tmp_dir是未定义的,但使用ini_set("upload_tmp_dir","/somedir")似乎没有任何效果。

以前有人遇到过这个问题吗?谢谢

编辑我不知道这个文件会在脚本结束后自动删除。添加

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

保存在/uploads/upload.txt 中

我认为您应该将上传的文件移动到新的目录或数据库中。

使用move-uploaded-file函数