文件系统路径创建错误(文件上载)

时间:2012-01-08 13:14:21

标签: php file-upload

我的代码一直说该文件夹不存在虽然它应该由mkdir函数检查..它创建文件夹但不会经历上传过程..并在找不到该文件夹​​的错误上显示。算法是否正确?请帮助..您的建议会有所帮助! :)

这是代码..

if(!(file_exists($target_path)))
{
    if(!mkdir($target_path, 0777, TRUE))
    {
        die ("could not create the folder on mkdir");
    }
    //in this line the error occurs..printing what is below..//
    die ("could not find folder on file exists");
}
else
{
    umask($target_path);
    ...
}

3 个答案:

答案 0 :(得分:2)

在文件上传过程中,move_uploaded_file()中的文件保存路径 功能可能会产生问题。我说的可能是因为你给出的代码对我来说不够清楚。 move_uploaded_file()的第二个参数是第一个参数是文件名的目标。请检查$ target_path的值,它可能会解决您的问题。谢谢。

答案 1 :(得分:1)

尝试..

if(file_exists($ target_path)&& is_dir($ target_path)){//其余代码...   }

而不是......

如果(!(file_exists($ target_path))){

}

希望这会为你做点什么......

...............................

还有一件事...... 我认为问题出在 if(!(file_exists($ target_path))){} Statement,

这应该...... 如果(!file_exists($ target_path)){}

答案 2 :(得分:1)

file_exists()例程需要完整的文件路径,如

/var/www/uploads/file1.c

所以

file_exists($target_path); 

电话没问题。但第二次调用make目录,即

mkdir()

需要一个目录,而不是文件的路径,即它只需要/ var / www / upload部分。 所以你可以从路径名中删除basename并将它应用到mkdir函数()