以下のPHPコードは、ページの読み込み時にヘッダーイメージをランダム化しています。特定のディレクトリにテキストを含む特定のファイルを対象としていますか?
<?php
function displayBackground() {
global $site;
global $dirimgpth;
$dir = 'uploads/product-images/' .$dirimgpth. '';
$cnt = 0;
$bgArray= array();
if ($handle = opendir($dir)) {
while (false !== ($entry = readdir($handle))) {
$pathToFile = $dir.$entry;
if(is_file($pathToFile))
{
if(getimagesize($pathToFile)!=FALSE)
{
$bgArray[$cnt]= $pathToFile;
$cnt = $cnt+1;
}
}
}
$myRand = rand(0,($cnt-1));
$val = $bgArray[$myRand];
}
closedir($handle);
echo($val);
}
?>
これはすべてうまく動作しますが、画像を取得するディレクトリにはサムネイルと大きな画像を含む数百の画像ファイルがあります。
上記のコードを変更して、ディレクトリフォルダをターゲットにしたいのですが、ファイル名に "-header.jpg"という特定のテキストの画像ファイルのみを取得します。
- doors.jpg
- windows.jpg
- アルミ-thumb.jpg
- ウィンドウ-header.jpg
- コンサバトリーヘッダー:
ディレクトリのフォルダには、次のようなファイルが含まれています.jpg
- tiled-thumb.jpg
- roof-header.jpg
私が望む結果は、ランダムヘッダーが上記のリストから画像「4,5,7」のみを出力するためです。
多くのお返事をいただきありがとうございます大いに感謝します – Craig
素晴らしい! @Marcin Orlowski氏によると、あなたが書いたコードは、あなたのフォルダ内のファイル数が増えるにつれ、パフォーマンス上のペナルティがあります。 – JoshulSharma