【发布时间】:2023-09-04 02:16:01
【问题描述】:
我正在做一个简单的事情,即使用 PHP 上传文件。
我的表格:
<form action="upload.php" enctype="multipart/form-data" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
<input type="file" name="file_upload">
<input type="submit" name="submit" value="Upload">
</form>
和 PHP:
$id = '3';
if (isset($_POST['submit'])) {
$tmp_file = $_FILES['file_upload']['tmp_name'];
$file = basename($_FILES['file_upload']['name']);
$upload_dir = "uploads";
if (file_exists($upload_dir."/".$file)) {
die("File {$file} already exists in {$upload_dir} folder.");
}
if(move_uploaded_file($tmp_file, $upload_dir."/".$file)) {
$message = "File " . $file . " uploaded to " . $upload_dir;
echo $message;
} else {
# Code with message about error.
}
}
文件仅在uploads 文件夹中成功上传。在那个uploads 文件夹中,我还有几个其他文件夹:1、2、3 等等。
我的问题:上传后如何移动特定子文件夹中的文件? (子文件夹名称——来自变量id。)谢谢!
【问题讨论】:
-
你想
move或copy??? -
$upload_dir = "uploads/" . $id; -
这是我正在尝试的,如果变量是
"uploads/" . $id它不会上传。但我得到UPLOAD_ERR_OK。 -
那个文件夹是动态生成的吗?检查这些文件夹的权限。
-
问题出在文件夹的权限上(正如@Toretto 建议的那样),感谢所有 cmets 解决我的问题。