php創建文件許可權
❶ 請教:關於linux伺服器用php的mkdir()創建文件夾並賦予許可權的問題
我們的伺服器是這樣做的:
php一般是以apache用戶身份去執行的,把apache加入到存儲你文件的父文件夾屬組里去,然後改該父文件夾許可權為775,這樣屬組成員就有寫的許可權,而apache屬於這個組就可以改寫該目錄下所有文件的許可權,當然,屬組最好不要是root,你可以為該文件夾改個其它普通用戶組。
改apache/php的運行用戶方法不安全,不建議使用
❷ linux如何設置php創建文件的默認許可權
可以使用php代碼設置創建文件的umask值:
<?php
exec('touch /tmp/b1');$oldmask=umask(0);exec('touch /tmp/b2');
umask($oldmask);?>
參考:http://www.php.net/manual/zh/function.umask.php
❸ 問:linux伺服器用php創建文件夾並賦予許可權的問題
mkdir("uploads/aa/");
chmod("uploads/aa/", 0777);
使用chmod可以設置比系統默認更大的許可權,直接使用mkdir會受到系統umask的影響。
❹ 用PHP對文件夾進行訪問許可權設置
把這個文件夾放到網站根目錄以外的目錄,這樣通過url就訪問不到了。
然後用php來讀取並輸出文件里的內容,詳細方法參考php支持斷點續傳用的代碼。
❺ 如果php需要在某文件夾下創建文件,請把該文件的許可權全部設置:即可都可寫和可執行777 什麼意思 求指教
如果php需要在某文件夾下創建文件,請把該文件夾 <- 你這里漏了個字吧 的許可權全部設置
linux系統下的許可權管理模式,777表示所有用戶都具有對該文件夾的完整許可權。windows不要考慮這個問題。
有疑問請追問,沒有請採納
❻ PHP寫入文件許可權問題
首先,fopen不是「寫入文件」。
設777是文件系統的用戶許可權。php打開文件,除了受文件系統的限制,還受apache和php本身安全性限制。例如,apache限定了訪問許可權只限於/www,而你要操作/log的話,是不可能的,盡管/log里文件系統設了777。還有,在手冊里fopen里有說「如果激活了
安全模式
或者
open_basedir
則會應用進一步的限制。」希望對你有幫助。
❼ php設置文件許可權的諾干問題
php修改文件許可權:
<?php
$filename = 'abc.jpg';
chmod($filename, 0644);
?>
許可權模式是由用戶,文件組及其他所有人各組數值分別相加得出的。從上面的圖表中應該能看出個大概。
Read 4 - 允許讀文件
Write 2 - 允許寫/修改文件
eXecute1 - 讀/寫/刪除/修改/目錄
❽ php創建文件夾,linux中還是許可權755,怎麼辦
一般都是由於新建用戶許可權不夠導致。Linux 非root用戶不能創建目錄的解決辦法:有些時候安裝應用,需要新建一個用戶,用戶建完之後,發現在常見的目錄(/home)下面不能建立目錄,必須求助於root用戶,建立完畢,例如建立一個目錄ubsadm。 這個時候/home/ubsadm 目錄存在。切換到應用用戶(例如為:ubsadm) 這個時候主目錄應該為/home/ubsadm,發現用touch、mkdir等命令無法創建文件/文件夾。 很頭疼。這個時候需要看下ubsadm目錄的屬性:發現目錄的屬主和組都是root 這個時候要使用root用戶下的chown命令來改變屬組。chown -R ubsadm:users /home/ubsadm這個時候注意,請盡量不要使用sudo命令提權來執行,雖然可能成功,但是對管理會造成混亂。也不要試圖使用usermod命令去改變ubsadm組為root執行完畢之後,使用ubsadm登陸,即可實現創建用戶成功。
❾ 伺服器端要用php腳本創建文件,許可權可能不夠,怎麼辦呢
fclose($fid);
readfile($fid);
這兩行順序調換一下試試
另外,你的fopen參數不能用wb,既然你以只寫方式打開,當然沒有讀許可權~~
wb 只寫打開或新建一個二進制文件;只允許寫數據。
wb+ 讀寫打開或建立一個二進制文件,允許讀和寫。