`
aideehorn
  • 浏览: 261493 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PHP用mkdir()新建立目录无写的权限的问题

    博客分类:
  • php
阅读更多

函数mkdir有两个参数,目录路径和访问权限

  例mkdir('/tmp/test',0777)

  然后要得到的权限码,不一定是上边设定的,当前系统的umask将会与设定的值‘与’,这样子才是真正的权限码,例如,如果umask为022,那码上边得到的权权限码为0755,没有写的权限

  所以如果我们想要真正的得到0777的权限,代码

<?php
$oldumask=umask(0);
mkdir('test',0777);
umask($oldumask);
?>
umask()检查并修改当前的umask码,并返回当前的umask码

  umask 是什么?

  我们创建文件的默认权限是怎么来的?如何改变这个默认权限呢?

 当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是 umask 干的事情。umask 设置了用户创建文件的默认权限,它与 chmod 的效果刚好相反,umask 设置的是权限“补码”,而 chmod 设置的是文件权限码。一般在 /etc/profile、$HOME/.bash_profile 或 $HOME/.profile 中设置 umask 值。

  如何计算 umask 值?

   umask 命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的 umask 值中的数字。对于文件来说,这一数字的最大值分别是 6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用 chmod 命令增加这一权限。目录则允许设置执行权限,这样针对目录来说,umask 中各个数字最大可以到 7。

  该命令的一般形式为:umask nnn,其中 nnn 可为 000 - 777。

  我们只要记住 umask 是从权限中“拿走”相应的位即可。

  如:umask 值为 022,则默认目录权限为 755,默认文件权限为 644。

分享到:
评论

相关推荐

    一个php文件目录操作类

    本文将详细讨论“一个PHP文件目录操作类”的概念、功能和应用,以及如何使用它来实现测试建立文件夹、复制文件夹、移动文件夹和删除文件夹等常见任务。 PHP提供了丰富的内置函数来处理文件和目录,如`mkdir()`用于...

    php文件目录操作类.zip

    1. 建立文件夹:在PHP中,可以使用`mkdir()`函数来创建新的目录。这个类可能会封装这个函数,提供一个更加友好的接口,可能允许设置权限和其他选项。 2. 测试复制文件夹:复制整个目录结构通常需要递归处理,使用`...

    php实现建立多层级目录的方法

    如果不存在,调用`mkdir()`创建目录,并使用`chmod()`设置指定的权限。 - 如果`mkdir()`失败,`or`语句会执行`die()`函数,打印错误信息并终止程序。 - 如果目录已存在,不执行`mkdir()`,而是将`$dir_path`添加`/...

    php在线管理文件

    1. 文件系统函数:PHP提供了丰富的文件系统函数,如`file_exists()`用于检查文件或目录是否存在,`fopen()`和`fclose()`用于文件的打开与关闭,`fgets()`和`fwrite()`用于读写文件内容,`mkdir()`和`rmdir()`用于...

    php循环创建目录示例分享(php创建多级目录)

    在PHP编程中,有时我们需要创建一个包含多个级别的目录结构,比如`/path/to/directory/subdirectory1/subdirectory2`。这种需求通常出现在处理文件系统、...记得在使用时确保适当的权限设置,以防止潜在的安全问题。

    Ftp上传PHP类

    - `mkdir()`:在FTP服务器上创建新目录。 - `rmdir()`:删除FTP服务器上的目录。 - `delete_file()`:删除FTP服务器上的文件。 - `disconnect()`:关闭与FTP服务器的连接。 在使用FTP类时,开发者需要注意安全问题...

    PHP中文帮助文档php_manual_zh

    PHP提供了大量的文件和目录操作函数,如file_get_contents用于读取文件内容,fopen/fwrite/fclose用于文件写入,mkdir/rmdir用于创建和删除目录,还有glob函数用于搜索符合特定模式的文件等。 七、数据库交互 PHP...

    PHP入门WORD教材4本300多页

    - 目录操作:mkdir、rmdir、opendir、closedir等,用于目录的创建、删除、打开和关闭。 4. **PHP数据库交互** - MySQLi或PDO:两种主流的PHP数据库连接方式,用于与MySQL数据库进行交互。 - SQL语言:学习SQL的...

    写一段简单的PHP建立文件夹代码

    mode参数定义了新创建目录的权限,以八进制数形式指定。recursive参数指定是否需要递归创建,此处没有用到。context参数用于文件流操作,创建目录时可以忽略。 6. 权限设置:在mkdir函数中,权限被设置为0700,这...

    php4程序设计(PDF)(附源码)

    例如,fopen()和fwrite()用于打开并写入文件,fclose()用于关闭文件,mkdir()和rmdir()分别用于创建和删除目录。 网络编程在PHP4中主要是HTTP协议的应用,如发送HTTP请求、解析HTTP响应。curl库也可以在PHP4中使用...

    PHP创建多级目录的两种方法

    PHP创建多级目录是web开发中常见的一项任务,主要用于在服务器上动态地建立文件夹,以便存放文件。PHP提供了mkdir()函数来创建目录,但是在创建多级目录时,需要特别注意几个关键点。在本篇教程中,我将介绍两种主要...

    从FTP获取自动下载文件的php类.zip

    5. **创建新目录**:如果需要在FTP服务器上创建新目录,可以调用`ftp_mkdir()`函数。 6. **下载FTP文件**:核心功能是下载FTP服务器上的文件到本地。这通常通过`ftp_fget()`或`ftp_get()`函数完成,它们允许你指定...

    PHP 开发实例完全剖析

    这部分内容会讲解如何使用fopen/fwrite/fclose等函数进行文件操作,以及mkdir/rmdir/chdir等函数对目录的操作。 4. **数据库交互**:PHP支持多种数据库接口,如MySQLi、PDO等。书中可能详细讲解如何建立数据库连接...

    php程序设计基础

    此外,PHP还提供了丰富的内置函数来处理文件和目录,如file_get_contents()读取文件内容,file_put_contents()写入文件,mkdir()创建目录,unlink()删除文件等。对于数据库操作,PHP支持多种数据库系统,如MySQL,...

    学习php脚本语言的资料

    - 目录操作:`mkdir()`创建目录,`rmdir()`删除目录。 6. **错误和异常处理** - 错误报告:通过`error_reporting()`设置错误报告级别。 - 异常处理:使用`try...catch`结构处理程序运行时可能出现的异常。 7. *...

    PHP程序开发参考手册(光盘源码)

    4. **文件操作**:PHP能处理文件和目录,如`fopen()`打开文件,`fwrite()`写入文件,`fclose()`关闭文件,`mkdir()`创建目录,`file_get_contents()`读取文件内容,`file_put_contents()`写入文件内容。 5. **...

    PHP简易教程

    `mkdir`创建目录,`rmdir`删除,`chdir`改变当前工作目录。 8. **数据库交互** PHP支持多种数据库,如MySQL,通过`mysqli`或`PDO`扩展进行连接、查询、插入、更新和删除操作。例如,使用`mysqli_connect`建立连接...

    php学习PPT教程笔记

    教程可能包含如何使用`fopen()`、`fwrite()`、`fclose()`读写文件,`file_get_contents()`一次性读取整个文件,`file_put_contents()`写入文件,以及目录操作如`mkdir()`、`rmdir()`等。 面向对象编程(OOP)是现代...

Global site tag (gtag.js) - Google Analytics