好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

phpmkdir-1的简单介绍

很多站长朋友们都不太清楚phpmkdir-1,今天小编就来给大家整理phpmkdir-1,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php中mkdir()函数的权限问题分析 2、 Php新手,请教使用mkdir创建文件夹为什么不能马上使用呢 3、 php mkdir创建文件错误 4、 为什么PHP没有mkdir等方法的执行权限 5、 php的mkdir怎么才可以在windows下创建中文目录 - PHP进阶讨论 php中mkdir()函数的权限问题分析

问题描述:

使用以下php代码创建了一个目录,期望目录的权限是0777,实际结果是0755

mkdir('./aa/',0777);

分析与测试结果:

1.mkdir()函数指定的目录权限只能小于等于系统umask设定的默认权限。

如linux默认的umask一般0022,

即创建目录的默认权限是0755,

所以这时php

mkdir('./aa/',0777)

得到目录的权限是0755.

xw@xw-X201:~/Desktop/dd/aa$

umask

0022

xw@xw-X201:~/Desktop/dd/aa$

php

-r

"mkdir('./xw/',0777);"

xw@xw-X201:~/Desktop/dd/aa$

php

-r

"mkdir('./xw1/',0755);"

xw@xw-X201:~/Desktop/dd/aa$

php

-r

"mkdir('./xw2/',0747);"

xw@xw-X201:~/Desktop/dd/aa$

ll

总用量

20

drwxrwxrwx

5

xw

xw

4096

2012-06-01

11:58

./

drwxr-xr-x

6

xw

xw

4096

2012-06-01

11:26

drwxr-xr-x

2

xw

xw

4096

2012-06-01

11:57

xw/

drwxr-xr-x

2

xw

xw

4096

2012-06-01

11:58

xw1/

drwxr--r-x

2

xw

xw

4096

2012-06-01

11:58

xw2/

把系统默认权限改为777,mkdir()可以指定更大权限了

xw@xw-X201:~/Desktop/dd/aa$

umask

000

xw@xw-X201:~/Desktop/dd/aa$

php

-r

"mkdir('./xw2/',0777);"

xw@xw-X201:~/Desktop/dd/aa$

ll

总用量

12

drwxrwxrwx

3

xw

xw

4096

2012-06-01

12:08

./

drwxr-xr-x

6

xw

xw

4096

2012-06-01

11:26

drwxrwxrwx

2

xw

xw

4096

2012-06-01

12:08

xw2/

2.chmod()函数不受系统umask影响,可以设置比系统默认权限大的权限。

xw@xw-X201:~/Desktop/dd/aa$

umask

0022

xw@xw-X201:~/Desktop/dd/aa$

php

-r

"mkdir('./xw1/',0777);"

xw@xw-X201:~/Desktop/dd/aa$

php

-r

"mkdir('./xw2/');"

xw@xw-X201:~/Desktop/dd/aa$

php

-r

"mkdir('./xw3/');chmod('./xw3/',0777);"

xw@xw-X201:~/Desktop/dd/aa$

ll

总用量

20

drwxrwxrwx

5

xw

xw

4096

2012-06-01

12:12

./

drwxr-xr-x

6

xw

xw

4096

2012-06-01

11:26

drwxr-xr-x

2

xw

xw

4096

2012-06-01

12:11

xw1/

drwxr-xr-x

2

xw

xw

4096

2012-06-01

12:11

xw2/

drwxrwxrwx

2

xw

xw

4096

2012-06-01

12:12

xw3/

3.系统的mkdir命令可以设置大于默认值的权限。

xw@xw-X201:~/Desktop/dd/aa$

umask

0022

xw@xw-X201:~/Desktop/dd/aa$

mkdir

-m0777

xw

xw@xw-X201:~/Desktop/dd/aa$

ll

总用量

12

drwxrwxrwx

3

xw

xw

4096

2012-06-01

12:18

./

drwxr-xr-x

6

xw

xw

4096

2012-06-01

11:26

drwxrwxrwx

2

xw

xw

4096

2012-06-01

12:18

xw/

总结:

php若要创建一个有读写权限的目录,最好使用以下代码,不要直接使用mkdir函数指定权限,以避免系统umask的影响

mkdir('./xw/');

chmod('./xw/',0777);

Php新手,请教使用mkdir创建文件夹为什么不能马上使用呢

mkdir($path,0777); 不能同时建两级目录.

把你的这一行,换成:

$i = 0;

while (!@mkdir($path, 0777)) {

if (is_dir($path)) break;

$i ++;

if (@mkdir($path . str_repeat("/..", $i), 0777)) $i = 0;

}

这样的试试.

php mkdir创建文件错误

你加几行代码

检测文件名是否已经存在

如果存在就不再新建了

这样就可以了

-----------

建议你学习下mkdir的用法

定义和用法

mkdir() 函数创建目录。

若成功,则返回 true,否则返回 false。

语法

mkdir(path,mode,recursive,context)

参数

描述

path 必需。规定要创建的目录的名称。

mode 必需。规定权限。默认是 0777。

recursive 必需。规定是否设置递归模式。

context 必需。规定文件句柄的环境。Context 是可修改流的行为的一套选项。

说明

mkdir() 尝试新建一个由 path 指定的目录。

默认的 mode 是 0777,意味着最大可能的访问权。

为什么PHP没有mkdir等方法的执行权限

1、当前运行php的用户,没有在目标目录使用mkdir的权限;

2、目标目录的上一级目录不存在,可用 mkdir("/path/to/my/dir", 0700, true);递归建立;

3、php.ini中禁用了mkdir函数,检查disable_function设置;

4、php处于安全模式,目录超过限制目录,检查opendir设置;

php的mkdir怎么才可以在windows下创建中文目录 - PHP进阶讨论

这里有两种情况,通常我们的PHP脚本文件要么是Unicode(utf8)或者是ANSI(gbk)。gbk兼容gb2312。

如果是Unicode编码(utf8),代码里的中文和系统是两种不同的编码,与系统打交道时,如创建中文名称的文件、文件夹等,需要转换编码。

如果是ANSI编码(gbk、gb2312),代码里的中文和系统是系统的编码,不需要转换编码。

//

1、php脚本文件是Unicode编码,系统是中文系统

$dirname="temp/中文目录";

//

通过iconv进行编码转换即可

if(mkdir(iconv('utf-8',

'gbk',

$dirname)))

echo

"创建成功";

else

echo

"创建失败";

//

2、php脚本文件是ANSI编码,系统是中文系统

$dirname="temp/中文目录";

//

不需要转换编码

if(mkdir($dirname))

echo

"创建成功";

else

echo

"创建失败";请选择合适的代码片段进行测试,如果你是utf8的话,就选择代码里的第一部分。

关于phpmkdir-1的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于phpmkdir-1的简单介绍的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did255266
更新时间:2023-10-09   阅读:44次

上一篇: php5.2cgi的简单介绍

下一篇:php加密数据用js解密 php加密 js解密

相关资讯

最新资料更新

  • 1.php的项目开发 php项目开发案例整合
  • 2.phpoa推荐 php推荐书籍
  • 3.php代码的缺点 php的缺点是什么
  • 4.php网站界面代码 php网页
  • 5.php字母循序排列 php字符串排序
  • 6.仿win桌面php源码 仿windows桌面
  • 7.php爬淘宝图片 php爬取图片
  • 8.包含tracphp的词条
  • 9.mac安装php扩展 mac系统安装php环境
  • 10.php_syntax的简单介绍
  • 11.php语言怎么玩 php语言入门
  • 12.php余数1 php math
  • 13.php队列和缓存 php中的九大缓存技术
  • 14.php5.2.8安装 php安装教程
  • 15.php正则到底 php中的正则表达式
  • 16.PHP版本在哪调 phpversion
  • 17.phpfpm出错 php报错信息
  • 18.php短信被刷 php防止短信被刷
  • 19.php7性能tu Php性能
  • 20.php项目基本流程 php项目如何运行

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]