指定されたURLの場所にあるすべてのファイルを取得する必要があります。
例:このURLについて考えてみましょ う-http://www.test.com/test/指定されたURLのテストフォルダー内に3つのファイル(file1.txt、file2.csv、file3.xls)があります。PHPのfopen()メソッドを使用してファイル名を読み取るにはどうすればよいですか?
これは、URL を処理する HTTP サーバーがディレクトリ インデックスを返す能力に依存します。インデックスを返すことができる場合でも、そのようなインデックスの形式は標準化されていません。HTTP サーバーがディレクトリ インデックスを返すことがわかっていて、その形式がわかっている場合は、次のようなファイルのリストを取得できます。
$index = fopen ('http://ftp.gnu.org/', 'r');
$data = "";
while ($d = fread ($index, 65536))
$data = $data . $d;
$matches = array ();
preg_match_all ('/href="([^"]+)"/', $data, $matches);
print_r ($matches [1]);
特定のディレクトリ内のファイルのリストだけが必要な場合は、scandirfopen()
を試す代わりに:
$dir = "http://www.test.com/test/"
$files = scandir($dir);
print_r($files);
ホスト サーバーのアクセス許可で許可されている場合は、次の結果が得られます。
Array(
[0] => .,
[1] => ..,
[2] => file1.txt,
[3] => file2.csv,
[4] => file3.xsl
)
次に、常に配列を循環して<ul>
結果を作成するか、コンテンツを表示したい場合に使用できます。