我正在弄清楚我的一个小项目,在那里我基本上获取一个页面的图像,然后在我的另一个网站上重新显示它们。虽然我这样做的目的是为了显示我的艺术作品的随机图像(不会浪费你的时间来解释细节),但我会使用下面的例子,因为它基本上会完全符合我的目的。
现在我可以做的是从给定页面获取所有图像链接,但我不知道如何在网站上将它们重新显示为图像。目前我获得的数据看起来像这样(我做过的测试):http://www.wilsonschlamme.com/wiki.php
Array
(
[0] => https ://kfjhiakwhefkiujahefawef/awoefjoiwejfowe.jpg
[1] => https ://oawiejfoiaewjfoajfeaweoif/awoeifjao;iwejfoawiefj.png
)
* fyi,你可以看到,在链接上每次都有不同的网址/文件名。但它仍然成功地提取文件名!
*如果您对我从哪里提取img信息感到好奇,这是一个不错的小维基随机img生成器:http://commons.wikimedia.org/wiki/Special:Random/File
所以这很酷,很高兴得到这个,因为我对PHP很新。但我现在需要做的是,RE显示阵列拾取的第一个图像,这是img 0.如果你想知道我为什么要经历这个头痛,它与随机图像有关,我要去为了处理它们,我自然需要网站来获取它找到的任何图像,无论文件名是什么。
同样,我想也许我替换当前正在使用的php中的代码,即在上面的测试链接上以文本格式显示这个数组,而是有一些代码需要[0]数组,并且将其显示为实际图像,换句话说,从该链接拉出图像,如< img src =“https:// _____
如何做到这一点正是我迷失的地方。
有什么想法?非常感谢您阅读本文。 -Wilson
正在执行此操作的PHP代码:
<?php
/*
Credits: Bit Repository
URL: http://www.bitrepository.com/
*/
$url = 'http://commons.wikimedia.org/wiki/Special:Random/File';
// Fetch page
$string = FetchPage($url);
// Regex that extracts the images (full tag)
$image_regex_src_url = '/<img[^>]*'.
'src=[\"|\'](.*)[\"|\']/Ui';
preg_match_all($image_regex, $string, $out, PREG_PATTERN_ORDER);
$img_tag_array = $out[0];
echo "<pre>"; print_r($img_tag_array); echo "</pre>";
// Regex for SRC Value
$image_regex_src_url = '/<img[^>]*'.
'src=[\"|\'](.*)[\"|\']/Ui';
preg_match_all($image_regex_src_url, $string, $out, PREG_PATTERN_ORDER);
$images_url_array = $out[1];
echo "<pre>"; print_r($images_url_array); echo "</pre>";
// Fetch Page Function
function FetchPage($path)
{
$file = fopen($path, "r");
if (!$file)
{
exit("The was a connection error!");
}
$data = '';
while (!feof($file))
{
// Extract the data from the file / url
$data .= fgets($file, 1024);
}
return $data;
}
for($i=0; $i<count($arr1); $i++) {
echo '<img src="'.$arr1[$i].'">';
}
?>