データベースからランダムな画像IDを取得し、それを有効なファイル名に変換し、それを使用してリンクからランダムな画像を生成するスクリプトを作成しました。
このようなリンクは次のようになります(機能します-試してみてください): http: //imgit.org/roll.php?image = 3J9N0Y4k8g4l4G7
そのリンクをリロードすると、画像が変化することに気付くでしょう。ただし、この画像を追加すると機能しますが、そのリンクをBBCodeタグ<img src="THAT LINK" />
内に配置すると、phpBBやvBulletinなどのメッセージボードでは機能しません。[img][/img]
まったく同じことを行うさまざまなサービス(フォーラムのリンク)があり、それが機能するため、スクリプトに問題があると思います。
これが私のroll.phpスクリプトです:
<?php
$imgit_root_path = '.';
include("{$imgit_root_path}/common.php");
if ($config['disable_roll'])
{
redirect('index.php');
}
$roll_key = request_var('image', '');
$roll_key = substr($roll_key, 0, 15);
if (!$roll_key)
{
redirect('index.php?action=404');
}
if (!$image->roll_key_exists($roll_key))
{
redirect('index.php?action=404');
}
$images = $image->roll_info($roll_key);
$images = explode('|', $images);
$count = sizeof($images);
$index = mt_rand(0, $count - 1);
$extList = array();
$extList['gif'] = 'image/gif';
$extList['jpg'] = 'image/jpeg';
$extList['jpeg'] = 'image/jpeg';
$extList['png'] = 'image/png';
$image_url = generate_site_url() . IMAGES_PATH . $image->get_name($images[$index]);
$image_inf = pathinfo($image_url);
header('Content-type: ' . $extList[$image_inf['extension']]);
readfile($image_url);
?>