【问题标题】:Can't find form uploaded files找不到表单上传的文件
【发布时间】:2015-01-07 17:34:25
【问题描述】:

问题已解决,见底部

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

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

【问题讨论】:

    标签: php file-upload windows-7 cygwin


    【解决方案1】:

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

    use move-uploaded-file function

    【讨论】:

    • 那将是下一步,是的,但我必须先找到它:)
    • 我认为 $_FILES["userfile"]["tmp_name"] 可以得到它,你在 "/tmp" 中找不到它,因为它会在 php 进度后被删除。
    • 啊!我不知道脚本结束后文件被删除了。问题已解决,谢谢!
    猜你喜欢
    • 2016-05-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-18
    • 1970-01-01
    • 1970-01-01
    • 2019-07-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多