首页 文章

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

提问于
浏览
0

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

警告:mkdir()[function.mkdir]:第251行/home5/ideapale/public_html/amatorders_final/user_char_upload.php中没有此类文件或目录

这是它所指的代码:

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 回答

  • 3

    使用带有两个参数的mkdir,为了创建目录 a/b/c ,必须存在目录 a/b .

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

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

    这个 ../upload/ 是相对于当前的执行目录(不一定与包含你的脚本的目录相同!)

    您可能想尝试使用此:

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

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

  • 0
    you are passing wrong path to the function man.
    

    即move_upload_file($ arg);

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

相关问题