作者seansylin (sylin)
看板Web_Design
標題Re: [問題] 關於php的fopen()系列函式在linux系統 …
時間Tue Mar 8 23:22:00 2005
※ 引述《mrbigmouth (拒絕崩潰的蒲公英)》之銘言:
: 我在我的php程式使用$xxxxx = fopen('ooooo.txt','a+')此語法....
: 並在其後用fwrite(),fread()編讀該文件....這些程式在windows底下(使用easyphp架站)
: 都可以執行無誤....
: 上傳至linux為基底的伺服器(可支援php)時卻出現以下錯誤....
: Warning: fopen(ooooo.txt): failed to open stream: Permission denied in
: /home/edahung33/www/aaa/????.php on line 64
: Warning: fread(): supplied argument is not a valid stream resource in
: /home/edahung33/www/aaa/????.php on line 65
: 初步詢問結果....對方指出"我在建立該記事本檔案時並無設定權限",使該檔案無法
: 建立....(但在windows底下時就無問題)
: 請問我應該如何在linux系統底下建立我的ooooo.txt呢?(需要加什麼參數?或是得用
: 其他函式?)
首先,在UNIX-Like系統中,檔案的存取比Windows系列嚴謹的多
而一個檔案可以為下列三種情況的排列組合
可讀取--代號4
可寫入--代號2
可執行--代號1 (所以沒有什麼exe檔,只有「具可執行權限」的檔案)
因此,6代表可讀取又可寫入,但不可執行
此外,檔案的權限又會因為「使用者」的不同而不同
使用者分為三種,「自己」、「群組」、「其他人」
因此 604 代表「自己」可寫可讀,「群組」都不能作用,「其他人」可寫可讀
因此,我們可使用"chmod 權限 檔名"來設定檔案權限
如:chmod 755 readme
而PHP也有相同作用的function
int chmod(string filename, int mode);
如: chmod("hahaha.txt",0777); //注意要加0,因為是8進位
因此,一般的檔案我們都會這樣設定
chmod("mytxt.txt", 0606);
就這樣!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.166.204.44
1F:推 mrbigmouth:感謝解答....m(_ _)m140.112.248.160 03/08