PHP:如何将文件保存在不存在的目录中


PHP: How to save a file in a directory that does not exist?

如何将文件保存到不存在的目录?

换句话说,它必须自动创建目录/子目录(如果它不存在),然后将文件保存到其中。

谢谢。

每个人都给出了答案,但是忘记打开递归标志。您必须将mkdir的第三个参数指定为true,以创建目录树(来自mkdir手册):

<?php
// Desired folder structure
$structure = './depth1/depth2/depth3/';
// To create the nested structure, the $recursive parameter 
// to mkdir() must be specified.
if (!mkdir($structure, 0, true)) {
    die('Failed to create folders...');
}
// ...
?>

先创建目录

    if(!is_dir ( "foldername" ))
    {
    mkdir("foldername");
    }
if(!is_dir($dir)){
mkdir($dir);
}

您可以跳过is_dir检查,每次都尝试使用mkdir。如果目录已经存在,Mkdir就会失败。理论上,您必须检查mkdir是否成功:

mkdir( $dir, 0777, true );
if( !is_writable( $dir ) ) {
    die( "$dir is not writable" );
}