gpt4 book ai didi

PHP move_uploaded_file 权限被拒绝(权限设置为 755)

转载 作者:行者123 更新时间:2023-12-02 18:18:43 26 4
gpt4 key购买 nike

我尝试使用简单的 HTML 输入表单上传用户的照片,但出现以下错误。我已将上传文件夹的权限设置为 755。我尝试了 777 并且可行,但我读到不建议将其设置为 777,我应该能够使用 755?

Warning: move_uploaded_file(uploads/2014_08_21_11_03_14k.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/yadayada/register.php on line 136
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/php8KQwyh' to 'uploads/2014_08_21_11_03_14k.jpg' in /home/yadayada/register.php on line 136

这是我的 php 代码:

$userPhotoUrl = 'uploads/'.date('Y_m_d_H_i_s').$_FILES['photo']['name'];

if (is_uploaded_file($_FILES['photo']['tmp_name'])) {
if (!move_uploaded_file($_FILES['photo']['tmp_name'], $userPhotoUrl)) {
// show error message
return;
}
} else {
// show error message
return;
}

最佳答案

首先你要明白什么是755。

对于文件夹,755 表示 drwxr-xr-x,这意味着:

  • 所有者拥有读取、写入和执行权限
  • 群组和公众仅拥有读取和执行权限

由于运行 PHP 的用户可能不是该文件夹的所有者,因此它没有该文件夹的写入权限。要么:

  • 您将该文件夹chown给 PHP 用户;或
  • 您做到了777:每个人都拥有读取、写入和执行权限

当然,后一种选择有一个安全问题,就好像有人上传了一个可执行的shell脚本到你的文件夹中,他就可以执行该脚本。因此,您应该坚持第一个选择。

关于PHP move_uploaded_file 权限被拒绝(权限设置为 755),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25422366/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com