【发布时间】:2011-07-17 07:24:23
【问题描述】:
如果路径不存在,我需要知道是否有任何方法可以创建新文件夹。当我尝试 fopen() 路径时,它显示 NO such File or Directory exists 我尝试使用 'w' 和 'w+' 打开文件,但它无法创建新文件夹。有什么方法可以在不使用 mkdir() 的情况下实现它。因为我每次都需要从 mkdir() 的路径中单独提取目录名称。任何帮助表示赞赏。谢谢...
【问题讨论】:
如果路径不存在,我需要知道是否有任何方法可以创建新文件夹。当我尝试 fopen() 路径时,它显示 NO such File or Directory exists 我尝试使用 'w' 和 'w+' 打开文件,但它无法创建新文件夹。有什么方法可以在不使用 mkdir() 的情况下实现它。因为我每次都需要从 mkdir() 的路径中单独提取目录名称。任何帮助表示赞赏。谢谢...
【问题讨论】:
fopen 无法创建目录。
你需要使用类似的东西:
$filename = '/path/to/some/file.txt';
$dirname = dirname($filename);
if (!is_dir($dirname))
{
mkdir($dirname, 0755, true);
}
【讨论】:
fopen 不创建或打开文件夹,只创建文件。你应该先检查is_dir 是否存在,如果不存在则创建它。 mkdir 有一个递归创建选项。
if (!is_dir($myDir)) {
mkdir($myDir, 0777, true); // true for recursive create
}
如果您正在寻找打开目录并阅读其内容的方法,您应该查看 SPL 的 DirectoryIterator
【讨论】:
您不能使用 fopen 创建文件夹。
要创建文件夹,您必须使用 mkdir
对于您每次都必须重复的操作,有一种语言功能称为“用户定义函数”。 PHP 最不为人知的特性,可以从 stackoverflow 的答案判断。
【讨论】: