私が試した次のコードを参照してください。サブディレクトリ内のファイルと一緒にディレクトリとサブディレクトリのリストを印刷する方法
echo scanDirectoryImages("Images");
function scanDirectoryImages($directory, array $exts = array('jpeg', 'jpg',
'gif', 'png'))
{
$html = '';
if (
is_readable($directory)
&& (file_exists($directory) || is_dir($directory))
) {
$directoryList = opendir($directory);
while($file = readdir($directoryList)) {
if ($file != '.' && $file != '..') {
$path = $directory . '/' . $file;
if (is_readable($path)) {
if (is_dir($path)) {
return scanDirectoryImages($path, $exts);
}
if (
is_file($path)
&& in_array(end(explode('.', end(explode('/', $path)))),
$exts)
) {
$html .= '<img src="' . $path
. '" style="max-height:200px;max-width:200px"
value="<?php echo basename($path)"/> ';
}
}
}
}
closedir($directoryList);
}
return $html;
}
私のサブディレクトリからのイメージだけが返されますが、実際にはサブディレクトリのパスは表示されません。 また、$ pathを設定するための問題を引き起こしているlocalhostではなく、サーバーで作業しています。 助けてください!
これは再帰関数です。そして、パラメータ( 'jpeg'、 'jpg'、 'png'、 'gif')を使って関数を呼び出すと、画像のみが表示されます。 あなたがしなければならないことは、貼り付けコードをコピーするのではなく、それを理解して変更してニーズに合うようにすることです。 'if(is_dir($ path)){ return scanDirectoryImages($ path、$ exts); } 'はあなたにとって重要なポイントです。正しい方向に向けるだけで – Nico