PHP chmod() 函数 (upload image permit)

PHP Filesystem 函数

定义和用法

chmod() 函数改变文件模式。

如果成功则返回 TRUE,否则返回 FALSE。

语法


chmod(file,mode)
参数 描述
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 才行.

修改目錄下所有檔案權限

  1. 要將目錄下的檔案都修改成 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:修改目录下文档权限(777,644 )相关推荐

  1. php 修改文件属性命令,php:修改目录下文档权限(777,644 )

    php:修改目录下文档权限(777,644 ) 文章分类:PHP编程 PHP chmod() 函数 (upload image permit) PHP Filesystem 函数 定义和用法 chmo ...

  2. Python3通过chmod修改目录或文件权限

    文章目录 简单的介绍下linux文件权限 os的chmod subprocess直接调用chmod命令 简单的介绍下linux文件权限 linux中,文件的权限分为"所有者.组.其他用户&q ...

  3. Linux(10)--上一级路径、nano、切换su、查看用户、修改目录的读写权限

    日常用到的指令 1. 返回上一次访问的路径 2. 切换默认编辑器nano->vim 3. 切换用户su 4. 查看系统中所有用户 5. 修改文件夹/文件的读写权限 1. 返回上一次访问的路径 c ...

  4. 在Linux系统中修改目录的权限如何恢复

    在我工作中的某一天执行了chmod -R 777 /home后我十分后悔,这下不知道该怎么办?心里面很是着急.此时灵机一动问了一下谷哥,终于找到了方法解决此问题,不过前提是要自己做了文件权限备份工作, ...

  5. linux给目录赋访问权限_【Linux】Linux系统中的权限详解

    我们linux服务器上有严格的权限等级,如果权限过高导致误操作会增加服务器的风险.所以对于了解linux系统中的各种权限及要给用户,服务等分配合理的权限十分重要. 一.文件基本权限 首先看下linux ...

  6. umask 和 新建文件、目录的默认权限

    umask (8进制数值) umask的值决定了用户创建的文件和目录的默认权限 umask的值是和用户相关的 root用户默认的umask值是 0022 普通用户的默认的umask的值是 0002 [ ...

  7. Linux目录以及文件权限理解

    了解Linux系统目录/文件权限结构 利用ls -al 命令可以列出详细的文件以及隐藏文件的权限,显示详细时间信息可以用ls -al --full-time 以.bash_history文件为例:-r ...

  8. Linux目录下文件权限怎么改成777,linux修改文件夹-文件目录权限

    Linux.Fedora.Ubuntu修改文件.文件夹权限的方法差不多.很多人开始接触Linux时都很头痛Linux的文件权限问题.这里告诉大家如何修改Linux文件-文件夹权限.以主文件夹下的一个名 ...

  9. ubuntu 目录及文件权限 000 444 666 777(转)

    转载自:http://hi.baidu.com/im886/blog/item/434764d9f6c210f838012f0b.html 1 [001] 执行权限 x 2 [010] 只写权限 w ...

最新文章

  1. MinGW-w64 编译器下载,安装,以及环境变量配置
  2. 字符串常量是一个字符数组
  3. 制作mac风格 例子(一)
  4. 19、SQL Server 数据修改之Insert into
  5. 线段检测网格检测(LCNN)的wireframe数据集标注、转换问题
  6. 【数据结构与算法】之双向链表的创建/遍历/插入/删除/查找的算法实现
  7. 上传文件返回数据提示下载
  8. python实现辗转相除法求最大公约数和最小公倍数
  9. IDEA : IDEA 打开使用内存监控
  10. 实验5.4 编程实现两字符串的连接(使用string类定义字符串对象)
  11. utilities(matlab)—— mat2imgcell
  12. mongodb常用操作——命令行
  13. ASP操作XML文件的主要方法和实现
  14. 用友nc6.5详细安装过程
  15. vue element 项目 表单校验 保姆级教程 纳税人识别号 公司电话传真 银行卡校验(包含注意点)
  16. 时间戳是什么?JS中时间戳的展示
  17. 强制开启AHCI模式的方法
  18. installation of package ‘igraph’ had non-zero exit status的解决方案
  19. MM 委外加工(Subconctracting)流程
  20. 怎样使网页页面变黑白

热门文章

  1. math.floor()和math.ceil()的使用
  2. PHP中mysql如何添加记录_PHP向MySql提交数据添加记录的简单代码_PHP教程
  3. python自动化部署工具_Python + Allure(报告)+ Jenkins(持续集成)接口自动化测试环境搭建...
  4. 图像处理:直方图均衡化
  5. 笨方法“学习python笔记之数学计算
  6. Ubuntu18.04.1系统安装mmdetection(含torch、torchvision、mmcv-full)
  7. Array,List,数据类型,caseclss模式匹配
  8. php7 连接mysql插件_php7
  9. excel柱状图堆叠图显示总和_如何在Excel堆积柱形图中显示合计值
  10. python控制语句_Python流程控制语句