0

このスクリプトを使用して、フォルダーからランダムな画像を表示しています。重要なファイル名を持つ何百もの画像があるので、各画像ファイル名を画像キャプションとして表示する方法を探しています。これは可能ですか?

これは私が使用しているスクリプトです:

<?php
/*
By Matt Mullenweg > http://photomatt.net
Inspired by Dan Benjamin > http://hiveware.com/imagerotator.php
Latest version always at:

http://photomatt.net/scripts/randomimage

*/// Make this the relative path to the images, like "../img" or "random/images/".
// If the images are in the same directory, leave it blank.
$folder = '';

// Space seperated list of extensions, you probably won't have to change this.
$exts = 'jpg jpeg png gif';

$files = array(); $i = -1; // Initialize some variables
if ('' == $folder) $folder = './';

$handle = opendir($folder);
$exts = explode(' ', $exts);
while (false !== ($file = readdir($handle))) {
foreach($exts as $ext) { // for each extension check the extension
if (preg_match('/\.'.$ext.'$/i', $file, $test)) { // faster than ereg, case insensitive
$files[] = $file; // it's good
++$i;
}
}
}
closedir($handle); // We're not using it anymore
mt_srand((double)microtime()*1000000); // seed for PHP < 4.2
$rand = mt_rand(0, $i); // $i was incremented as we went along

header('Location: '.$folder.$files[$rand]); // Voila!
?>
4

1 に答える 1

0

引き続き 1 つのランダムな画像を表示するだけの場合は、ヘッダー行を削除 (または後で復元できるようにコメント アウト) し、ファイルの最後にその下に次の行を追加します。

//header('Location: '.$folder.$files[$rand]); // Voila!
echo $files[$rand];
?>
<br />
<img src="<?php echo $folder.$files[$rand] ?>" />

css スタイルを追加して、画像の表示サイズを設定し、その上のキャプションをフォーマットすることができます。

于 2012-02-13T22:32:08.957 に答える