问题已解决,请参见底部
根据标题,我找不到通过表单上传的任何文件。一点背景,这是我的文件和输出:
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
中