如果路径不存在,我需要知道是否有任何方法可以创建新文件夹。当我尝试fopen()一个路径时,它说NO such File or Directory exists
我尝试使用'w'和'w +'打开文件但是它无法创建新文件夹。有没有办法实现它而不使用mkdir()。因为我需要每次从mkdir()的路径中单独提取目录名称。任何帮助表示赞赏。感谢...
答案 0 :(得分:77)
fopen无法创建目录。
你需要使用类似的东西:
$filename = '/path/to/some/file.txt';
$dirname = dirname($filename);
if (!is_dir($dirname))
{
mkdir($dirname, 0755, true);
}
答案 1 :(得分:7)
fopen不会创建或打开文件夹,只会创建文件。您应首先检查is_dir
是否存在,如果不存在则。 mkdir
有一个递归创建选项。
if (!is_dir($myDir)) {
mkdir($myDir, 0777, true); // true for recursive create
}
如果您正在寻找打开目录的方法并阅读其内容,您应该查看SPL的DirectoryIterator
答案 2 :(得分:3)
你不能使用fopen来创建文件夹 要创建文件夹,您必须使用mkdir
对于每次必须重复的操作,有一种称为“用户定义函数”的语言功能。 PHP的最不为人所知的功能,可以说通过stackoverflow答案来判断。