ホームページ > バックエンド開発 > PHPチュートリアル > php mkdir で複数レベルのディレクトリを作成するサンプルコード_PHP チュートリアル

php mkdir で複数レベルのディレクトリを作成するサンプルコード_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:49:19
オリジナル
939 人が閲覧しました

php mkdir は一度に 1 レベルのディレクトリしか作成できません。複数のレベルがある場合は、再帰的にディレクトリを作成する必要があります。この関数を使用するためのヒントをいくつか紹介します。

まずmkdir()関数を紹介します

mkdir($path,0777,true);

最初のパラメータ: 必須、作成される複数レベルのディレクトリのパスを表します。

2 番目のパラメータ: ディレクトリの権限を設定します。デフォルトは 0777 で、これは可能な最大のアクセス権を意味します。

3 番目のパラメータ: true は、複数レベルのディレクトリの作成を許可することを意味します。

mkdir($dir,$mode); ただし、一度に作成できるディレクトリは 1 つだけです。つまり、次のように複数レベルのディレクトリを一度に作成することはできません。

mkdir('aa'); // aa ディレクトリは 1 つだけ作成できます

mkdir('aa/bb/cc');// aa/bb ディレクトリがあれば正常に cc ディレクトリを作成できますが、そうでない場合はエラーが報告されます。複数のディレクトリを作成したい場合は、以下のコード

コード例 (中国語ディレクトリの作成をサポート):

コードは次のとおりですコードをコピーエディターは、参考のためにディレクトリを再帰的に作成する 2 つの方法をまとめました。ありがとうございます。

header("コンテンツタイプ:text/html;charset=utf-8");

//作成される複数レベルのディレクトリ

$path="dai/php/phplearn";

//ディレクトリが存在するかどうかを確認し、存在しない場合はディレクトリを作成します

if (is_dir($path)){

echo "申し訳ありません! ディレクトリ " . $path . " は既に存在します!";

}その他{

//3 番目のパラメータは「true」です。これは、iconv が中国語のディレクトリの文字化けを防ぐことを意味します。

$res=mkdir(iconv("UTF-8", "GBK", $path),0777,true);

if ($res){

echo "ディレクトリ $path が正常に作成されました";

}その他{

echo "ディレクトリ $path の作成に失敗しました";

}

}

?>


ディレクトリを再帰的に作成する別の例を見てください

コードは次のとおりです

コードをコピー /* *mkdir($dir,$mode)
*PHP はディレクトリを再帰的に作成します

*/
関数 mkdirs($dir, $mode = 0777)
{
If (is_dir($dir) || @mkdir($dir, $mode)){
true を返します;
}
If (!mkdirs(dirname($dir), $mode)){
false を返す;
}
@mkdir($dir, $mode) を返します;
}

関数 mkdirs($dir, $mode = 0777)
{
$dirArray =explode("/",$dir);

$dirArray = array_filter($dirArray);


$created = "";
foreach($dirArray as $key => $value){
if(!empty($created)){
$created .= "/".$value;
if(!is_dir($created)){
mkdir($created,$mode);
}
}その他{
if(!is_dir($value)){
mkdir($value,$mode);
}
$created .= $value;
}
}
}
?>
//コード適用例
$path="abc/ff/ss/";
mkdirs($path,$mode = 0777);



上記の紹介は、PHP のディレクトリと複数レベルのディレクトリの再帰的作成の内容です

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632720.html技術記事 php mkdir は一度に 1 つのレベルしかディレクトリを作成できません。複数のレベルがある場合は、再帰的にディレクトリを作成する必要があります。この関数を使用するためのヒントをいくつか紹介します。 まずはご紹介します…
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート