Php取得了img urls。如何在线重新显示它们?

时间:2017-05-18 06:49:29

标签: php arrays fetch

我正在弄清楚我的一个小项目,在那里我基本上获取一个页面的图像,然后在我的另一个网站上重新显示它们。虽然我这样做的目的是为了显示我的艺术作品的随机图像(不会浪费你的时间来解释细节),但我会使用下面的例子,因为它基本上会完全符合我的目的。

现在我可以做的是从给定页面获取所有图像链接,但我不知道如何在网站上将它们重新显示为图像。目前我获得的数据看起来像这样(我做过的测试):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].'">';
}

?>

0 个答案:

没有答案