作者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