1

我想要实现的是,当我打开一个网站时,它会通过加载图像、swf 文件、css 文件等来启动网络活动。php 中有什么方法可以将这些资源的列表作为数组获取?

4

2 回答 2

3

我认为这(有点)可能的唯一方法是使用 PHP 解析呈现的 HTML 页面并查找资源。– 皮哈

如果你想遵循这个方向,你可以使用file_get_html

$html = file_get_html("http://stackoverflow.com");
$list = array();
foreach ( $html->find("[src=*],link") as $src ) {
    isset($src->src) AND $list[] = $src->src ;
    isset($src->href) AND $list[] = $src->href ;
}
var_dump($list);

例子

array
  0 => string 'http://cdn.sstatic.net/stackoverflow/img/favicon.ico' (length=52)
  1 => string 'http://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png' (length=61)
  2 => string '/opensearch.xml' (length=15)
  3 => string 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' (length=63)
  4 => string 'http://cdn.sstatic.net/js/stub.js?v=8a629d6e9fb6' (length=48)
  5 => string 'http://cdn.sstatic.net/stackoverflow/all.css?v=d16ae3f98d2e' (length=59)
  6 => string '/feeds' (length=6)
  7 => string 'http://i.stack.imgur.com/NAGkl.png' (length=34)
  8 => string 'http://i.stack.imgur.com/tKsDb.png' (length=34)
  9 => string 'http://i.stack.imgur.com/tKsDb.png' (length=34)
  10 => string 'http://i.stack.imgur.com/tKsDb.png' (length=34)
  11 => string 'http://i.stack.imgur.com/L8rHf.png' (length=34)
  12 => string 'http://i.stack.imgur.com/tKsDb.png' (length=34)
  13 => string 'http://i.stack.imgur.com/tKsDb.png' (length=34)
  14 => string 'http://i.stack.imgur.com/tKsDb.png' (length=34)
  15 => string 'http://i.stack.imgur.com/6QN0y.png' (length=34)
  16 => string 'http://i.stack.imgur.com/L8rHf.png' (length=34)
  17 => string 'http://i.stack.imgur.com/L8rHf.png' (length=34)
  18 => string 'http://i.stack.imgur.com/tKsDb.png' (length=34)
  19 => string 'http://i.stack.imgur.com/dmHl0.png' (length=34)
  20 => string 'http://i.stack.imgur.com/tKsDb.png' (length=34)
  21 => string 'http://i.stack.imgur.com/L8rHf.png' (length=34)
  22 => string 'http://i.stack.imgur.com/dmHl0.png' (length=34)
  23 => string 'http://pixel.quantserve.com/pixel/p-c1rF4kxgLUzNc.gif' (length=53)
于 2012-11-09T10:55:25.007 回答
0

从 PHP 中找出资源并不是一个好主意,因为您还必须检查外部链接(例如 CSS 包含在任何 CSS 文件中)。在任何情况下都有太多的可能性来处理这个问题。

但是,PeeHaa 是对的,您必须解析每个文件(图像除外)。

于 2012-11-09T10:45:37.327 回答