我可能做了一些非常简单的错误,但是当我尝试创建一个目录(使用插入的变量作为最后一个文件夹名称执行)时,我收到错误:
警告:mkdir()[function.mkdir]:/ home / blah / blah中没有这样的文件或目录
用代码:
if (!is_dir("images/listing-images/rent/'.$insertID.")) {
//make new directory with unique id
mkdir("images/listing-images/rent/'.$insertID.");
}
当然目录不存在..我正在尝试现在制作它?困惑!
6 回答
您的字符串中有错误:
应该:
假设您使用的是PHP> 5.0.0,请尝试
mkdir("path", 0777, true);
以启用递归方式创建目录(请参阅此处:http://php.net/manual/en/function.mkdir.php) .这是因为您的文件系统中没有
images/listing-images/rent
路径 .如果要创建整个路径 - 只需将第3个参数作为
true
传递:你当前也有可能在错误的目录中 . 如果是这种情况 - 您需要使用
chdir()
更改当前目录或指定完整路径 .recursive允许创建路径名中指定的嵌套目录 .
但对我不起作用!!因为这就是我想出来的!
,它的工作非常完美!!
在我的情况下,$ insertID是通过concatinating从一些数据生成的字符串
我简单地重写了这样的代码并且错误消失了:
你不应该使用is_dir()来检查是否存在某些东西,你也想要file_exists() . 尝试:
采取了' . 因为它看起来像语法错误,但你可能有合理的理由保留它 .
如果mkdir仍然失败,那可能是images / listing-images / rent不存在,如果是这样,你必须单独创建它 .