0

我很难让我的脚本在帐户注册时自动创建新目录。

我的代码:

$bloguser=$_POST['bloguser'];
$root = "/accounts/";
if(!is_dir($root.$bloguser, 0777))
    mkdir($root.$bloguser, 0777);
if(!is_dir($root.$bloguser."/images", 0777))
    mkdir($root.$bloguser."/images", 0777);
if(!is_dir($root.$bloguser."/images/avatar", 0777))
    mkdir($root.$bloguser."/images/avatar", 0777);

问题:

该帐户注册就好了。但是, is_dir 和 mkdir 给了我错误:

警告:is_dir() 中的参数计数错误...

警告:mkdir() [function.mkdir]: Unable to access /accounts/TestAccount in...

警告:is_dir() 中的参数计数错误...

警告:mkdir() [function.mkdir]:无法访问 /accounts/TestAccount/images...

反正你懂这个意思。

我尝试过的事情/要知道的事情:

  • 我给accounts根目录下的文件夹 0777 写入权限,只是为了确保写入权限不是问题;
  • 我尝试过使用双引号,例如将它们放在变量周围;
  • 我还尝试将 0777 内容排除在检查目录是否存在之外: if(!is_dir----

在此先感谢您的帮助。:)

4

2 回答 2

1

有一个更简单的方法。mkdirrecursive选项:

mkdir($root.$bloguser."/images/avatar", 0777, true);

编写 PHP 时,第一件事就是阅读文档。那里有很多内容,社区评论通常会解决常见问题。

于 2013-05-27T08:00:32.867 回答
0

请查看 is_dir 手册http://de1.php.net/manual/de/function.is-dir.php

bool is_dir ( string $filename )

你可以检查你是否有写权限

bool is_writable ( string $filename )

http://de1.php.net/manual/de/function.is-writable.php

于 2013-05-27T07:59:42.163 回答