-2

我想使用 php 在指定的 URL 显示不同的图像。因此,如果页面名称www.website.com/?file=page_1显示image_1.png在主页中。

我无法在 php 代码中找到如何执行此操作,或者不知道在哪里寻找。

4

3 回答 3

0

看起来您正试图在您的网站上显示远程内容。这样做的风险很小,如果网站出现故障,您的网站也会受到影响。

$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>';

关于这一点,我认为您应该阅读以下内容:

  • cURL获取页面内容
  • 用于解释内容的正则表达式:
于 2012-11-04T13:26:19.487 回答
0

我假设您是 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" />
于 2012-11-04T13:18:21.833 回答
0
$images = array(1 => "image1.jpg", 2 => "image2.jpg");

if (isset($images[$_GET["page"]])){
    print $images[$_GET["page"]];
}
于 2012-11-04T13:22:32.283 回答