【发布时间】:2015-08-22 18:10:27
【问题描述】:
我正在使用以下代码上传文件并将其移动到文件夹“film_images”:
$filepath = '../images/film_images/';
echo '<br />Trying to store file at ' . $filepath;
if (!move_uploaded_file(
$_FILES['teaserimage']['tmp_name'],
sprintf($filepath . '%s.%s',
'test',
$ext))) {
throw new RuntimeException('Failed to move uploaded file.');
}
但是,这里有很多人,我总是有一个
无法打开流:权限被拒绝
PHP 中的异常。然后我进入服务器,使用setfacl 命令,我将权限rw- 授予用户www-data,即运行此PHP 脚本的用户。使用rw- 我仍然遇到异常。只有当我将权限切换到rwx 时,即当我让www-data 完全控制这个文件夹时,它才起作用。现在我想知道两件事:
- 为什么需要授予用户执行权限才能写入文件?
- 有没有办法在不授予用户执行权限的情况下写入文件?我担心有人会上传代码,隐藏在图像文件中,然后在我的服务器上执行。
【问题讨论】:
标签: php unix permissions