php 更改文件权限
来源:互联网 发布:从零开始学java视频 编辑:程序博客网 时间:2024/05/18 00:39
PHP chmod() 函数 (upload image permit)
PHP Filesystem 函数
定义和用法
chmod() 函数改变文件模式。
如果成功则返回 TRUE,否则返回 FALSE。
语法
chmod(file,mode)
可选。规定新的权限。
mode 参数由 4 个数字组成:
- 第一个数字永远是 0
- 第二个数字规定所有者的权限
- 第二个数字规定所有者所属的用户组的权限
- 第四个数字规定其他所有人的权限
可能的值(如需设置多个权限,请对下面的数字进行总计):
- 1 - 执行权限
- 2 - 写权限
- 4 - 读权限
例子
- <?php
- // 所有者可读写,其他人没有任何权限chmod("test.txt",0600);// 所有者可读写,其他人可读
- chmod("test.txt",0644);// 所有者有所有权限,其他所有人可读和执行chmod("test.txt",0755);// 所有者有所有权限,所有者所在的组可读chmod("test.txt",0740);
- ?>
PHP 使用 chmod() 的注意事項
由於某虛擬主機上遇到很奇妙的狀況, 做圖片上傳的功能, 但是圖片上傳後, 權限是 600, 而 owner 是 Apache user, 所以要做 local 的備份時, 那些上傳的圖片都無法備份.
此狀況只好寫個程式讓 Apache user 來做 chmod 的動作, 將圖片檔案權限都改成 644 才行.
修改目錄下所有檔案權限
- 要將目錄下的檔案都修改成 644, 修改全部權限的方法很簡單, 程式如下: (假設檔名是 chmod.php)
- <?php
- `chmod 644 *`;
- ?>
- 於網址連結 http://DOMAIN-NAME/chmod.php 就會將此目錄下的權限都修改完成了.(不要說我做弊咩. XD)
上傳檔案立即修改檔案權限
上述是臨時的做法, 正確應該要於檔案上傳後, 直接就幫他修改檔案權限, 會比較好, 於是來使用 PHP 的 chmod().
程式如下:
- <?php
- $filename = 'abc.jpg';
- chmod($filename, 0644);
- ?>
這樣子就能將上傳的 abc.jpg 權限改成 644 的權限.
chmod 注意事項
上面是正確寫法, 要注意的是, 下面都是錯誤的寫法: (註解的是權限的結果)
- chmod($filename, '644'); // --w----r-T
- chmod($filename, '0644'); // --w----r-T
- chmod($filename, 644); // --w----r-T
- chmod($filename, 'u+rwx,go+rx'); // --------- (000)
- chmod($filename, 'a+x'); // --w----r-T
- 官方網站說明: bool chmod (string $filename , int $mode)
第二個參數的 int $mode, 這欄一定要是數字, 而且要是八進位的數字, 不然都會是上面註解的結果.
八進位在這邊很好記, 就是原本下的十進位指令, 前面加個 0 就可以了, 如下都是正確範例:
- chmod($filename, 0644); // -wr--r--r
- chmod($filename, 0755); // -wr-wr-wr
- php 更改文件权限
- UBUNTU更改文件权限
- 文件读写权限更改
- 更改文件权限-chmod
- mac 更改文件权限
- win7更改文件权限
- 更改文件用户组、权限
- 更改文件权限删除文件
- linux更改文件夹权限,更改文件所有者
- linux更改文件夹权限,更改文件所有者
- linux更改文件夹权限,更改文件所有者
- 更改linux文件的权限
- [Linux] 更改文件权限 chmod
- Ubuntu中更改文件权限
- 更改文件目录的权限
- php修改文件权限
- php文件权限访问
- _chmod, _wchmod 更改文件访问权限
- ATL智能指针类剖析
- linux select函数用法
- iOS并发编程(GCD)学习笔记
- 非模态的titlewindow,点击外部时的事件
- 正确处理 Memory Warning
- php 更改文件权限
- =====================
- 指针函数与函数指针的区别
- 写完B+树的一些感想
- 访问IIS元数据库失败的解决
- C#中执行SQL Server脚本
- hdu 1078 动态规划
- NSString字符串比较
- Android应用程序的国际化与本地化