You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP上传文件移动失败求助:move_uploaded_file报错排查

解决PHP图片上传时的路径错误问题

先看你遇到的错误提示:

C:\Users\Admin\AppData\Local\Temp\php9664.tmp
Warning: move_uploaded_file(/img/collection/usbwebserver.exe): failed to open stream: No such file or directory in D:\Home\Volodya\Projects\Web\CollectionSite\site\php\collection.php on line 26
Warning: move_uploaded_file(): Unable to move 'C:\Users\Admin\AppData\Local\Temp\php9664.tmp' to '/img/collection/usbwebserver.exe' in D:\Home\Volodya\Projects\Web\CollectionSite\site\php\collection.php on line 26

问题根源

你用了/img/collection/作为目标路径,这是系统根目录的绝对路径(Windows里对应C盘根目录),但你的项目实际在D:\Home\Volodya\Projects\Web\CollectionSite\site\下,这个路径根本不存在,所以文件移动失败。

解决方案

1. 使用相对路径(推荐)

你的脚本在site/php/目录下,要访问项目内的site/img/collection/,相对路径应该用../img/collection/(../表示回到上一级目录)。修改文件复制代码:

echo($_FILES['img']['tmp_name']);
// 定义相对路径
$targetDir = '../img/collection/';
// 确保目标目录存在,不存在则创建(递归创建多级目录)
if (!is_dir($targetDir)) {
    mkdir($targetDir, 0755, true);
}
move_uploaded_file($_FILES['img']['tmp_name'], $targetDir . basename($_FILES['img']['name']));

2. 或使用网站根目录的绝对路径

用$_SERVER['DOCUMENT_ROOT']获取网站根目录(即D:\Home\Volodya\Projects\Web\CollectionSite\site\),再拼接目标路径:

echo($_FILES['img']['tmp_name']);
$targetDir = $_SERVER['DOCUMENT_ROOT'] . '/img/collection/';
if (!is_dir($targetDir)) {
    mkdir($targetDir, 0755, true);
}
move_uploaded_file($_FILES['img']['tmp_name'], $targetDir . basename($_FILES['img']['name']));

3. 额外修正:表单HTML语法问题

你输出<option>标签时,属性值没有正确加引号,会导致HTML语法错误,比如:

// 原来的写法(有语法问题)
echo("<option value=".$row['country_id']."">".$row['country_name']."</option>");

改成以下写法,用单引号包裹HTML结构,双引号包裹属性值:

echo('<option value="' . $row['country_id'] . '">' . $row['country_name'] . '</option>');

最后检查

  • 确认img/collection/目录存在,并且PHP进程有写入权限(Windows环境可右键目录,给Users组添加写入权限)
  • 可以先打印最终目标路径验证正确性:echo $targetDir . basename($_FILES['img']['name']);

内容的提问来源于stack exchange,提问作者Poseydon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:45:35