【PHP】ディレクトリを操作する・ファイルの存在確認の関数
こんにちは😊Kintarouです。
現在エンジニア転職を目指してTECH CAMPにてプログラミング学習中です👨🎓
夢はフリーランスエンジニアになって働く人が働きやすいシステムを作ること!
と、愛する妻と海外移住すること🗽
プログラミングや読んでいる本のことなど、ブログに書いていきます!
twitter : https://twitter.com/ryosuke_angry
今回参考にさせて頂いたサイト様🙇♂️
dotinstall.com
ディレクトリを操作する
ディレクトリにあるファイルの内容を取得します。
ディレクトリを取得するのにopendir、ディレクトリ内のファイルを読み込むのにreaddirを使います。
<?php #file_put_contentsを用いて事前に作成しておいたdataディレクトリに下記のファイルを作成します。 file_put_contents('data/text1.txt', "text1\n"); file_put_contents('data/text2.txt', "text2\n"); #opendirでdataファイルを取得し、readdirを用いて先ほど作成したファイルを読み込みます。 #読み込むファイルが無くなったらfalseを返すのでwhileでtrueの間は読み込みます。 #ディレクトリをあらわすドットが読み込まれるのですが不要なのでcontinueでスキップします。 $dp = opendir('data'); while (($item = readdir($dp)) !== false) { if ($item === '.' || $item === '..'){ continue; } echo $item . PHP_EOL; } #=>text2.txt #=>text1.txt #上記の内容をglob関数を使うことで同じ動作ができます。 #ワイルドカードを使って当てはまるファイルを配列要素として読み込めます。 # foreach (glob('data/*.txt')as $item) { echo basename($item) . PHP_EOL; } #=>text1.txt #=>text2.txt
ディレクトリやファイルのチェックを行う
以下で、ファイルが存在しているか、書き込み、読み込み可能かをチェックできます。
関数名 | 処理内容 |
---|---|
file_exists | 指定したファイルが存在するかを真偽値で返す |
is_writable | 指定したファイルが書き込み可能かを真偽値で返す |
is_readable | 指定したファイルが読み込み可能かを真偽値で返す |
<?php #上記で作成したdataディレクトリの存在確認をします。 if(file_exists('data') === true) { echo 'data exists!' . PHP_EOL; } #=>data exists! #dataディレクトリの中のtext1.txtが書き込み可能かを確認します。 if(is_writable('data/text1.txt') === true) { echo 'text1 is writable!' . PHP_EOL; } #=>text1 is writable! #dataディレクトリの中のtext2.txtが読み込み可能かを確認します。 if(is_readable('data/text2.txt') === true) { echo 'text2 is readable!' . PHP_EOL; } #=>text2 is readable!
以上、どなたかの参考になれば幸いです😊