缺少来自外部Url php的照片

缺少来自外部Url php的照片,php,html,dom,Php,Html,Dom,我正在使用服务器端从外部url获取照片。根据SO的建议,我使用简单的PHPDOM库来实现这一点。但我在这方面缺乏表现。我的意思是,对于一些网站,我无法获得所有的照片。 $url有一个示例外部站点,它没有给我所有的图片 $url ="http://www.target.com/c/baby-baby-bath-bath-safety /-/N-5xtji#?lnk=nav_t_spc_3_inc_1_1"; $html = file_get_contents($url); $d

我正在使用服务器端从外部url获取照片。根据SO的建议,我使用简单的PHPDOM库来实现这一点。但我在这方面缺乏表现。我的意思是,对于一些网站,我无法获得所有的照片。 $url有一个示例外部站点,它没有给我所有的图片

  $url
  ="http://www.target.com/c/baby-baby-bath-bath-safety
  /-/N-5xtji#?lnk=nav_t_spc_3_inc_1_1";
  $html = file_get_contents($url);
  $doc = new DOMDocument();
  @$doc->loadHTML($html);
  $tags = $doc->getElementsByTagName('img');

  foreach ($tags as $tag) {
      echo $imageUrl = $tag->getAttribute('src');
   echo "<br />";
  }
$url
="http://www.target.com/c/baby-baby-bath-bath-safety
/-/N-5xtji#?lnk=导航系统spc(3)公司(1);
$html=文件内容($url);
$doc=新的DOMDocument();
@$doc->loadHTML($html);
$tags=$doc->getElementsByTagName('img');
foreach($tags作为$tag){
echo$imageUrl=$tag->getAttribute('src');
回声“
”; }
这是否可能使我的功能/准确性与Firefox的选项类似

Firefox->工具->页面信息->媒体


我的意思是,我只是想更准确地说明这一点,因为现有的库并没有获取所有图像。此外,我还尝试了file\u get\u content…这也无法获取所有图像。

您需要使用正则表达式获取图像的src。DOMDocument在内存中构建所有DOM结构,您不需要它。获取URL时,使用
file\u get\u contents()
并将数据写入文件。如果要解析多个页面,还可以添加
max\u execution\u time

  $url
  ="http://www.target.com/c/baby-baby-bath-bath-safety
  /-/N-5xtji#?lnk=nav_t_spc_3_inc_1_1";
  $html = file_get_contents($url);
  $doc = new DOMDocument();
  @$doc->loadHTML($html);
  $tags = $doc->getElementsByTagName('img');

  foreach ($tags as $tag) {
      echo $imageUrl = $tag->getAttribute('src');
   echo "<br />";
  }
从远程服务器下载图像


是否有超时(
max\u execution\u time
)?如果执行
echo$html您会注意到HTML是不存在的<代码>您好,我们遇到一些技术问题,很抱歉给您带来不便。
-这可能是为了停止从屏幕末端刮屏。有可能使用iframes吗?我不确定在这个场景中是否使用iframes。但我只想从外部url获取图像,以便在我的bookmarklet中使用。这将在任何网站上以弹出窗口的形式打开。如果他们说可以,请友好地询问他们并复制副本,然后在本地提供。根据SO的最后建议,我将需要使用服务器端脚本获取图像。为此,我将使用file\u get\u contents或dom libray。但问题是,它并没有为几乎所有的图像提供图像。相同的脚本也适用于其他网站。DOM库只需将字符串(HTML)转换为具有其(对象)属性的对象模型(例如:$HTML->img->src)。每个对象都会消耗一些内存,当您获得DOM库中的所有页面时,您将获得和页面上的标记一样多的对象。在这之后,您搜索图像并从中仅获得1个属性:src。从1个步骤、1个字符串(HTML)找到src的正确方法。现在我们来谈谈文件内容和超时。也许某个主机速度太慢,而您的服务器认为他无法拍摄图像。这样,您应该通过
cURL
函数获取图像。我应该在这里使用cURL吗。因为我无法使用文件内容获取图像?是的,我认为这是最好的解决方案。谢谢Egor…..)。。。事实上,我想做一些类似的东西。如果有机会,请查看添加到我的注册表功能…再次感谢Hanks的回复,但我只想从外部网站获取并显示图像,然后用户将选择一个并保存在服务器上。