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