我一直在尝试将文件()和file_get_contents生成的列表中的结果转换为图像,我已经做到了这一点,但似乎无法得到任何地方:这里是我得到的:
<?php
$data = file('http://cadenanoticias.com.mx/galerias/notas/22925/');
foreach((array)$data as $whoisline){
echo '<img src="http://cadenanoticias.com.mx/galerias/notas/22925/'.$whoisline.'">';
}
?>
到目前为止,我可以看到结尾的双引号和结束括号,以及它。
关于如何实现这一目标的任何想法?
答案 0 :(得分:1)
在PHP Simple HTML DOM Parser的帮助下,您可以执行以下操作。
<?php
require "simple_html_dom.php";
// Create DOM from URL or file
$html = file_get_html("http://cadenanoticias.com.mx/galerias/notas/22925/");
// Find all images
foreach($html->find("a") as $element) {
if (substr(strrchr($element->href,'.'),1) == "jpg") {
echo '<img src="http://cadenanoticias.com.mx/galerias/notas/22925/'. $element->href .'">';
}
}
答案 1 :(得分:0)
您的示例中使用file_get_contents
返回的数据是HTML,因此为了提取您需要parse the HTML的图片。
我建议使用curl取代HTML,因为file_get_contents并不总是允许抓取远程网址。
另一种选择是使用preg_match提取图片网址,然后根据需要循环浏览。
如果目录是本地的,那么您可以使用glob,然后返回的数据将是一个可以循环的数组。
答案 2 :(得分:0)
好我的想法是值得的:
http://cadenanoticias.com.mx/galerias/notas/22925/网站上的添加一个index.php:
<?php
$files=array();
foreach (glob("*.jpg") as $filename) {
$files[]=$filename;
}
echo json_encode($files);
在另一台服务器上的脚本
<?php
$data = file_get_contents('http://cadenanoticias.com.mx/galerias/notas/22925/');
foreach(json_decode($data) as $myImage){
echo '<img src="http://cadenanoticias.com.mx/galerias/notas/22925/'.$myImage.'">';
}
?>
答案 3 :(得分:-1)
你需要研究一下glob。
foreach (glob("/galerias/notas/22925/*.{png,jpg,tiff}") as $filename) {
echo '<img src="http://cadenanoticias.com.mx/galerias/notas/22925/'.$filename.'">';
}