PHPを使って、指定したURLに別の画像を表示したい。したがって、ページ名がメインページ内にwww.website.com/?file=page_1
表示される場合。image_1.png
PHPコードでこれを行う方法が見つからないか、どこを探すべきかわかりません。
$images = array(1 => "image1.jpg", 2 => "image2.jpg");
if (isset($images[$_GET["page"]])){
print $images[$_GET["page"]];
}
サイトに表示されるリモート コンテンツを取得しようとしているようです。これを行うには小さなリスクがあります。Web サイトがダウンした場合、Web サイトも影響を受けます。
$GLOBALS['images'] = array();
// Fetch the page content
$ch = curl_init("http://www.example.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
$pageContent = curl_exec($ch);
curl_close($ch);
function splitByRegex($match)
{
$GLOBALS['images'] = $match[1];
}
// Strip the images from the content
preg_replace_callback(
'/\<img.*src\=\"(.*\.(?:png)|(?:jpg)|(?:gif))\"\>/ig',
'splitByRegex'
$pageContent
);
echo '<pre>' . print_r($GLOBALS['images'], true) . '</pre>';
その点については、次のことを読んでおくとよいと思います。
あなたはPHPの初心者だと思います。あなたがしようとしていることは、HTTP GET パラメータと呼ばれます。そして、それは確かです?file=page_1
か?file=image_1
?
それを取得するには、これを行う必要があります。
<img src="image_<?php echo (strpos("page_", $_GET["file"] === 0)) ? str_replace("page_", "", $_GET["file"]) : ""; ?>.png" alt="Image" />
それがあなたの間違いであり、それが である場合は、次の?file=image_1
コードを使用できます。
<img src="<?php echo (strpos("image_", $_GET["file"] === 0)) ? $_GET["file"] : ""; ?>.png" alt="Image" />