2012-02-13 14 views
0

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

これは使用してスクリプトイムです:あなたがしたいすべてが、その後削除(またはそれ以降にしたい場合は、それを復元することができますので、コメントアウト)単一のランダムな画像を表示し続ける場合には

<?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! 
?> 

答えて

0

をヘッダ行とファイルの末尾にその下に次の行を追加します。

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

あなたは、画像の表示サイズを設定し、そしてその上にキャプションをフォーマットするために、いくつかのCSSスタイルを追加したい場合があります。

+0

こんにちは これはブラウザで正常に動作します。大いに感謝する。 しかし、通常の画像のようにスクリプトを呼び出すと、私のサイトにランダムな画像を表示する通常の方法である A Random Imageのように、スクリプトを呼び出すと機能しません。 – Nizarnav

+0

ありがとうございます。 imgタグのあるページはPHPスクリプトですか?それがimgタグではなくiframeを使用していなければ、画像とそのキャプションの両方を表示することはできません – user1207727

+0

Im Drupalブロックで使用すると、入力フォーマットをPHPまたはHTMLに設定できます不明な理由により、PHPブロックで直接スクリプトを使用すると、自分のサイトがクラッシュすることがあります。だから私はiframeソリューションを試してみます。 – Nizarnav

関連する問題