php

【php】file_existsとmkdirを使ってフォルダやファイル存在確認後、作成

投稿日:

画像やファイル等を動的に作成したい場合あると思います。そんな時はfile_existsとmkdirを使って作成しましょう。

実際のコード

<?php
//フォルダ(ディレクトリ)の場所
$directory_path = '/home/xxx/public_html/xxxx/html/img/test/';

//存在を確認したいディレクトリ(ファイルでもOK)
if(file_exists($directory_path)){
  //存在したときの処理
  //ディレクトリ内のファイルを取得
  $files = scandir($directory_path);
  // ディレクトリ内のファイルを全て削除する.
	foreach( $files as $file_name ) {
		if( !preg_match( '/^\.(.*)/', $file_name) ) {
			unlink($directory_path . '/' . $file_name);
		}
	}
}else{//存在しないときの処理(指定されたディレクトリを作成する)
  if(mkdir($directory_path, 0777)){
	  //作成したディレクトリのパーミッションを確実に変更
    chmod($directory_path, 0777);
   //作成に成功した時の処理
    echo "作成に成功しました";
  }else{
    //作成に失敗した時の処理
    echo "作成に失敗しました";
  }
}

コードで実施している事

1.file_exists()でフォルダ(ディレクトリ)存在確認
2.存在した場合、そのディレクトリ内のデータを全て削除
3.存在しない場合、mkdirでフォルダを作成し、パーミッションを0777へ変更

phpマニュアル

file-exists
mkdir

-php

Copyright© Code Custom , 2022 All Rights Reserved.