我正在开发一个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>
答案 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的回答中提到了如何在上传后重新定位这些文件。