⊗ppPmFSDPC 350 of 447 menu

PHPでディレクトリの内容を解析する

ファイルとサブディレクトリの両方を含む、 あるディレクトリ dir が与えられているとします。

このディレクトリから名前の配列を取得してみましょう:

<?php $files = array_diff(scandir('dir'), ['..', '.']); ?>

各名前について、それがファイルかディレクトリかを チェックしてみましょう:

<?php $files = array_diff(scandir('dir'), ['..', '.']); foreach ($files as $file) { echo $file; var_dump(is_file('dir/' . $file)); } ?>

スキャン対象のディレクトリ名がコード内の2箇所に 書かれていることに注意してください。 これはあまり便利ではありません。この名前を 別の変数に切り出しましょう:

<?php $dir = 'dir'; $files = array_diff(scandir($dir), ['..', '.']); foreach ($files as $file) { echo $file; var_dump(is_file($dir. '/' . $file)); } ?>

次に、すべてのファイルについて、 その内容を画面に表示してみましょう:

<?php $dir = 'dir'; $files = array_diff(scandir($dir), ['..', '.']); foreach ($files as $file) { if (is_file($dir. '/' . $file)) { echo file_get_contents($dir. '/' . $file); } } ?>

ファイルへのパスが2回計算されていることに 気づくかもしれません。これを別の変数に 切り出しましょう:

<?php $dir = 'dir'; $files = array_diff(scandir($dir), ['..', '.']); foreach ($files as $file) { $path = $dir. '/' . $file; // ファイルへのパス if (is_file($path)) { echo file_get_contents($path); } } ?>

ディレクトリが与えられます。そのディレクトリ内の サブディレクトリの名前を縦一列に表示してください。

ディレクトリが与えられます。そのディレクトリ内の ファイルの名前を縦一列に表示してください。

ディレクトリが与えられます。そのディレクトリ内の 各ファイルの末尾に現在の時刻を書き込んでください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否