PHP临时文件不存在

时间:2015-04-20 23:19:56

标签: php wordpress upload

我正在开发一个Wordpress插件,它有自己的文件上传表单来导入数据。我有一个非常基本的表单上传脚本。我想将文件保存在临时目录中,我不会永久存储上传的文件。

以下是上传脚本:

<?php
echo $_FILES['file']['tmp_name'];

我获得了一个临时位置,但该文件在我的文件系统中不存在。我在使用Fedora 21。

HTML表单如下所示:

<form action=<?php echo plugins_url() . '/upload.php'; ?> method='post' enctype="multipart/form-data">
    <h4>Data Import</h4>
    <fieldset>
        File: <input type='file' title='spreadsheet' name='file'><br>
        <input type='submit' name='Import' value='Import'>
    </fieldset>
</form>

2 个答案:

答案 0 :(得分:1)

请改为尝试:

$uploaddir = './temporaryfolder/'; //give this dir write permissions
$uploadfile = $uploaddir . basename($_FILES['file']['name']);


if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {
    //now you can get the filename
    $file = basename($uploadfile);
    echo "File <b>$file</b> is valid, and was successfully uploaded.\n";
}

答案 1 :(得分:0)

它被称为临时位置,因为文件只存在于临时位置。你必须将它们重新定位到其他地方以便能够“获取”它们。

但是你提到你不想保留这些文件 - 因此我建议你自己编写一个算法,在你不再需要它们之后处理文件。可以根据文件的年龄或其他内容来决定。

在Pedro Lobito的回答中提到了如何在上传后重新定位这些文件。