我在我的服務器上擁有755權限的Video文件夾。問題是:當有人去上傳視頻文件時,由於權限錯誤,無法上傳到該文件夾。暫時使用PHP將文件夾權限更改爲777
如果我將權限更改爲777,則可以上傳視頻。但出於安全原因,我不想允許777的文件夾權限。
有沒有什麼辦法在PHP上傳視頻時臨時更改權限到777?
我在我的服務器上擁有755權限的Video文件夾。問題是:當有人去上傳視頻文件時,由於權限錯誤,無法上傳到該文件夾。暫時使用PHP將文件夾權限更改爲777
如果我將權限更改爲777,則可以上傳視頻。但出於安全原因,我不想允許777的文件夾權限。
有沒有什麼辦法在PHP上傳視頻時臨時更改權限到777?
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的詳細答案,謝謝 – 2013-03-05 08:32:25
if-clause已經將權限更改爲「0777」嗎? – AAGD 2015-11-05 14:23:22
@AAGD是的。但問題是:「PHP上傳video_時是否有任何方式臨時將權限更改爲777?」? – hjpotter92 2015-11-05 15:16:32
有一種方法(PHP提供chmod
函數),但由於PHP不是文件夾的所有者,您將無法更改權限。我認爲你正在解決錯誤的問題。在同一組中添加網絡服務器和PHP,並將775添加到該文件夾。
775也不能正常工作 – 2013-03-05 08:31:13
因爲PHP顯然不在該文件夾的所有者組:) – 2013-03-05 08:32:10
ohh好的,謝謝 – 2013-03-05 08:33:17
您可以使用chmod()
函數。
欲瞭解更多信息,請here
您必須初始化配置爲上載,像這樣:
$config['remove_spaces'] = FALSE;
$config['upload_path'] = $path;
$this->upload->initialize($config);
$this->load->library('upload', $config);
這與codeigniter不是他在做什麼。 – 2015-06-26 19:34:56
請給外觀上http://stackoverflow.com/questions/2958602/still -dont-understand-file-upload-folder-permissions – Agilox 2013-03-05 08:44:17