PHP-如何从获取的 URL IMGS 在网站上重新显示图像

PHP-How to re display images on website from fetched URL IMGS

所以我有点卡住了,我得到了各种解决方案,none 其中有效。那里有能人 PHP 吗?事情是这样的,我正在尝试从另一个网站获取一张图片以显示在我的网站上,该图片具有随机生成的 IMG。虽然我实际上是在我的个人艺术网站上尝试这样做,但这个例子会很完美。 http://commons.wikimedia.org/wiki/Special:Random/File

随即弹出一个带有图像的随机图像页面 link。现在,我想在另一个站点上显示该随机图像或出现的任何图像。我遇到的两种可能的解决方案是从给定的 link 收集一组 URL 链接。然后将该数组重新显示为另一个站点上的图像,例如:

方案二, 使用 file_get_contents 命令。这是哪个:

<?php

$html = 
file_get_contents("http://commons.wikimedia.org/wiki/Special:Random/File");

libxml_use_internal_errors(true);
$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$image_src =  $xpath->query('//div[contains(@class,"fullImageLink")]/a/img')
[0]->getAttribute('src') ;
echo "<img src='$image_src'><br>";


?>

但是,不幸的是,我收到了一条错误消息:致命错误:无法在第 11 行的 /home/wilsons888/public_html/wiki.php 中将 DOMNodeList 类型的对象用作数组。或者,如果我删除了 "} " 最后,我只得到一个空白页。

有人告诉我上面的代码可以工作,但包含 openssl 扩展。问题是,我不知道该怎么做。 (我对 PHP 很陌生)。可以这么说,有人知道如何插入吗?太感谢了!我觉得我很接近,只是缺少最后一个元素。

我能够加载随机图像,并且 "print it" 直接作为图像(因此您可以使用以下代码将 php 文件直接嵌入到 IMG 标签中):

<?php
    $html = file_get_contents("http://commons.wikimedia.org/wiki/Special:Random/File");
    $dom = new DOMDocument();
    $dom->loadHTML($html);
    $remoteImage = $dom->getElementById("file")->firstChild->attributes[0]->textContent;
    header("Content-type: image/png");
    header('Content-Length: ' . filesize($remoteImage));
    echo file_get_contents($remoteImage);
?>

获取一个名为 showImage.php 的新文件并将此代码放入其中:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<img src="test.php">
</body>
</html>

接下来,转到您的浏览器并获取 showImage.php 路径,然后将显示您询问的站点中的随机图像...