无法使用mkdir创建文件夹

时间:2009-08-24 20:07:49

标签: php windows directory mkdir

环境信息:
* Windows Vista
* PHP 5.2.9-2

我正在开展一个项目。让我们说它的名字只是“项目”。我的用于用户交互的php文件可以在

找到
  

项目/ file.php

现在,我有一个数据库和一些地图,一般包含类和配置文件。还有一个用户地图,我在其中存储他们可能上传的图像。例如:

  

项目/文件/用户/ 0 / profilePic.jpg

该数字与数据库中的user_id相对应。

我的register.php文件包含以下代码行:

mkdir('/files/Users/'.$id)

$id变量是数据库中最大的id号加1。

但它不起作用。我检查了文件夹,我有读写权限(我是我的机器上的管理员)。

我做错了什么?

注意:有权告诉我有一个更好的方法来组织这个保留给那些能给我一个有用答案的人。 :P

4 个答案:

答案 0 :(得分:7)

这个怎么样?

mkdir('c:/files/Users/'.$id)

答案 1 :(得分:2)

几种可能性:

  1. 丢掉第一个/因为它给出一个绝对路径而你正在寻找一个相对路径 - 所以mkdir('files / Users /'.$ id)
  2. 文件/用户是否已经存在(即,是否已有用户0,用户1等)?如果没有,你需要先做它们或者做mkdir('files / Users /'.$ id,077,true)来递归创建目录。

答案 2 :(得分:1)

在Windows中,路径不以'/'开头,而是带有驱动器号。只需删除第一个斜杠('/ files / users /'变成'files / users /')。

此外,马克说。

答案 3 :(得分:0)

PHP表示它最好地尝试转换系统之间的/。通过做:

mkdir('/files/users');

困惑的PHP认为它是在* NIX系统上。通过将root设置为c:,它现在能够正确解析参数并推断它是一个Windows系统