PHP:fopen创建文件夹

时间:2011-03-17 10:34:40

标签: php directory fopen

如果路径不存在,我需要知道是否有任何方法可以创建新文件夹。当我尝试fopen()一个路径时,它说NO such File or Directory exists我尝试使用'w'和'w +'打开文件但是它无法创建新文件夹。有没有办法实现它而不使用mkdir()。因为我需要每次从mkdir()的路径中单独提取目录名称。任何帮助表示赞赏。感谢...

3 个答案:

答案 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答案来判断。