PHP使用move_uploaded_file()上传文件的时候:
如果上传到/tmp目录下则显示成功。
如果上传到其他目录下则失败。
网上都是是权限的问题,可是我已经将整个文件夹权限
设置成了chmod -R 777 还是失败的。
请问这是什么情况呢?
move_uploaded_file()移动文件失败怎么解决
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
你知我知皆知 2024-08-09 07:13关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
如果您的文件被移动到了/tmp目录下,那么您可能需要检查是否有足够的权限来写入这个目录。此外,确保在调用
move_uploaded_file()之前已经创建了目标目录,并且具有读写权限。以下是一个示例代码片段,展示了如何处理此问题:
<?php // 获取上传文件的临时路径 $tmpPath = $_FILES['file']['tmp_name']; // 检查目标目录是否存在 if (!is_dir($targetDir)) { mkdir($targetDir, 0755, true); } // 将文件移动到目标目录 move_uploaded_file($tmpPath, $targetDir . '/' . basename($_FILES['file']['name']));在这个例子中,我们首先获取了上传文件的临时路径。然后,我们检查目标目录是否已存在。如果没有,我们就创建它。接着,我们使用
move_uploaded_file()函数将文件移动到目标目录。请注意,这只是一个基本的例子,实际的解决方案可能取决于您的具体环境和需求。例如,您可能还需要考虑文件名、扩展名等信息,以及如何处理错误和异常。
解决 无用评论 打赏 举报