【问题标题】:PHP create directory with 777 permission in WindowsPHP在Windows中创建具有777权限的目录
【发布时间】:2012-06-13 13:11:34
【问题描述】:

我读过这个:- Why can't PHP create a directory with 777 permissions?

我可以看到通过应用以下内容创建了一个新文件夹:-

// Desired folder structure
$structure = "../../../".$flash_dir."HELLO";

// To create the nested structure, the $recursive parameter 
// to mkdir() must be specified.

    $oldmask = umask(0);
    mkdir($structure, 0777);
    umask($oldmask);

用DreamWeaver查看HELLO的文件权限是777。但是我怀疑是Linux 0777而不是Windows 777,所以还是不能上传HELLO。

是否有其他方法可以在 windows 777 中创建目录?谢谢!

PS。当我手动创建一个新目录并右键设置777时,它工作得很好,所以我真的认为它与Linux vs Windows有关~

【问题讨论】:

  • 如果在 linux 上你还应该检查文件的所有者和组,一个由 root 拥有的上传脚本(因为 up 上传它或以 root 身份创建它)但作为 www-data 运行不能上传一个拥有的文件www-data 创建的目录。启用error_reporting_(E_ALL);
  • @LawrenceCherone 我一直认为 root 可以随心所欲地读写。
  • @micha 除非 apache 以 root 身份运行,否则它不会拥有该文件。脚本由 apache 进程运行,而不是由谁拥有它们
  • 如果您使用 PHP 创建一个目录,该目录由拥有 apache 进程的同一用户所有。现在该用户可以在该文件夹上创建文件。应该没有权限问题。
  • @shiplu.mokadd.im 似乎开启了安全模式:s

标签: php linux windows permissions


【解决方案1】:

0777777完全一样

但我仍然不能说问题是什么。我会在你创建后再次尝试 chmod。

$oldmask = umask(0);
chmod($structure, 0777);
umask($oldmask);

【讨论】:

  • 我进一步添加了上述脚本,但它仍然显示:- 警告:move_uploaded_file() [function.move-uploaded-file]:安全模式限制生效。不允许uid为10400的脚本访问/var/www/web92/web/friends/cms/modules/media_upload/process中uid 48拥有的/var/www/web92/web/friends/uploads/flash/JJJ .php 在第 96 行
  • 安全模式 = 真倒霉,请您的主机将其关闭或关闭。
猜你喜欢
  • 2012-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-29
  • 1970-01-01
  • 2013-07-19
  • 2018-09-07
相关资源
最近更新 更多