内部に多くのファイルを含むディレクトリがあります。
pic_1_79879879879879879.jpg
pic_1_89798798789798789.jpg
pic_1_45646545646545646.jpg
pic_2_12345678213145646.jpg
pic_3_78974565646465645.jpg
etc...
pic_1_ ファイルのみを一覧表示する必要があります。どうすればいいですか?前もって感謝します。
glob()関数を使用する
foreach (glob("directory/pic_1_*") as $filename) {
echo "$filename";
}
directory
glob 呼び出しを適切なパスに変更するだけです。
これは、ファイルのリストを取得してからフィルタリングするのではなく、すべてを 1 回のショットで実行します。
opend dir 関数が役立ちます
$dir ="your path here";
$filetoread ="pic_1_";
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if (strpos($file,$filetoread) !== false)
echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
}
closedir($dh);
}
}
頑張ってphp.net opendirを見てください
これはマニュアルのサンプルの 1 つです。
http://nz.php.net/manual/en/function.readdir.php
<?php
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "$file\n";
}
}
closedir($handle);
}
?>
そのコードを変更して、ファイル名をテストして、次のようなものを使用して pic_1_ で始まるかどうかを確認できます
if (substr($file, 0, 6) == 'pic_1_')
substr のマニュアル参照