为什么我不能使用PHP创建目录?

时间:2011-03-11 12:14:44

标签: php forms directory mkdir

我有一个用户可以上传图片的表单。我有另一个页面已经工作,然后创建一个目录并将图像放入其中。出于某种原因,当我将相同的代码复制到我当前的页面时,它会给我以下错误:

  

警告:mkdir()[function.mkdir]:不   这样的文件或目录   /home5/ideapale/public_html/amatorders_final/user_char_upload.php   在第251行

以下是它所指的代码:

if (!file_exists("../upload/" . $order_id . '_' . $row['last_name'])) { //Checks if the directory already exists
    mkdir("../upload/" . $order_id . '_' . $row['last_name'], 0755); //Creates a new directory with the order_id and Customer last name
}

我尝试回应所有这些变量,所以我知道它们有效。

对我来说这似乎很简单,所以我不确定为什么mkdir函数在这个页面上对我不起作用。任何人的想法?

2 个答案:

答案 0 :(得分:3)

mkdir与两个参数一起使用,为了创建目录a/b/c,目录a/b必须存在。

如果您在尝试创建a/b时希望创建a/b/c,则需要将true作为第三个参数传递(名为recursive的参数;-))mkdir


如果您upload目录已经存在,那么您需要确保../upload/实际上是您的想法。

../upload/与当前执行目录相关(不一定与包含脚本的目录相同!)


您可能想尝试使用它:

var_dump(realpath('../upload/'));

检查该目录是否符合您的想法 - 如果它存在,它将显示其完整路径;如果没有,则为假。

答案 1 :(得分:0)

you are passing wrong path to the function man.

即move_upload_file($ arg);

如果你在$ arg中给出错误的路径,它会显示你所说的错误消息。