我的服务器上有一个Video文件夹,有755的权限。问题是:当有人去上传视频文件时,由于权限错误,无法上传到该文件夹。
如果我将权限更改为777,则可以上传视频。但出于安全原因,我不想允许777的文件夹权限。
在上传视频时,PHP中有没有办法暂时将权限更改为777?
答案 0 :(得分:15)
PHP为任务提供了一个函数chmod()
。
尝试将指定文件的模式更改为模式中给定的模式。
您可以将其放在if
语句中,如果返回false,则可以跳过上传文件部分。
用法就像
if( chmod($path, 0777) ) {
// more code
chmod($path, 0755);
}
else
echo "Couldn't do it.";
如chmod function manual所述,$mode
必须采用八进制格式 - 前导零,即chmod($path, 0777)
答案 1 :(得分:4)
有一种方法(PHP提供chmod
功能)但由于PHP不是该文件夹的所有者,因此您将无法更改权限。而且我认为你正在解决错误的问题。在同一组中添加Web服务器和PHP,并将775分配给该文件夹。
答案 2 :(得分:1)
您可以使用chmod()
功能。
有关详细信息,请尝试here
答案 3 :(得分:1)
您必须初始化上传配置,如下所示:
$config['remove_spaces'] = FALSE;
$config['upload_path'] = $path;
$this->upload->initialize($config);
$this->load->library('upload', $config);