PHP file() 到 foreach 数组并进入 img
PHP file() to foreach array and into img
我一直在尝试将 file() 和 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.'">';
}
?>
到目前为止,我可以看到结尾的双引号和右括号,仅此而已。
关于如何实现这个的任何想法?
您需要查看 glob。
foreach (glob("/galerias/notas/22925/*.{png,jpg,tiff}") as $filename) {
echo '<img src="http://cadenanoticias.com.mx/galerias/notas/22925/'.$filename.'">';
}
您的示例中使用 file_get_contents
返回的数据是 HTML,因此为了提取图像,您必须 parse the HTML。
我建议使用 curl instead to fetch the HTML as file_get_contents 并不总是允许获取远程 URL。
另一种选择是使用 preg_match 提取图像 URL,然后您可以根据需要循环访问它们。
如果目录是本地的,那么你可以使用glob,然后返回的数据将是一个数组,你可以循环遍历。
好吧,我的想法是值得的:
在 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.'">';
}
?>
在 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 .'">';
}
}
我一直在尝试将 file() 和 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.'">';
}
?>
到目前为止,我可以看到结尾的双引号和右括号,仅此而已。
关于如何实现这个的任何想法?
您需要查看 glob。
foreach (glob("/galerias/notas/22925/*.{png,jpg,tiff}") as $filename) {
echo '<img src="http://cadenanoticias.com.mx/galerias/notas/22925/'.$filename.'">';
}
您的示例中使用 file_get_contents
返回的数据是 HTML,因此为了提取图像,您必须 parse the HTML。
我建议使用 curl instead to fetch the HTML as file_get_contents 并不总是允许获取远程 URL。
另一种选择是使用 preg_match 提取图像 URL,然后您可以根据需要循环访问它们。
如果目录是本地的,那么你可以使用glob,然后返回的数据将是一个数组,你可以循环遍历。
好吧,我的想法是值得的:
在 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.'">';
}
?>
在 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 .'">';
}
}