我想要实现的目标,当我打开一个网站时,它通过加载图像,swf文件,css文件等来启动网络活动。在php中是否有任何方法可以将这些资源列表作为数组?
答案 0 :(得分:3)
我认为这种(有点)可能的唯一方法是使用PHP解析呈现的HTML页面并查找资源。 - PeeHaa
如果您想遵循此方向,可以使用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)
答案 1 :(得分:0)
从PHP中找出资源并不是一个好主意,因为您还必须检查外部链接(例如CSS包含在任何CSS文件中)。在任何情况下都有太多的可能性来处理这个问题。
但是,PeeHaa是对的,你必须解析每个文件(图像除外)。