PHP采集静态页面并把页面css,img,js保存的方法
本篇章节讲解PHP采集静态页面并把页面css,img,js保存的方法。分享给大家供大家参考。具体分析如下: 这是一个可以获取网页的html代码以及css,js,font和img资源的小工具,主要用来快速获取模板,如果你来不及设计UI或者看到不错的模板,则可以使用这个工具来抓取网页和提取资源文件,提取的内容会按相对路径来保存资源,因此你不必担心资源文件的错误url导入. 首页 index.php,代码如下: 代码如下: Web GrabberUrl
List 代码如下: if(isset($_POST['url'])) {
保存css,img等资源的页面 save.php,代码如下:
if(isset($_POST['project']) && !is_dir($_POST['project'])) mkdir($_POST['project'],0777); echo json_encode(grab($_POST['url'])); } function grab($url) { if(($content = file_get_contents($url)) !== false) { if(isset($_POST['project'])) file_put_contents($_POST['project'].'/'.$file,$content); $pattern = '/<link.?href=('|")(.?.css)1.*?>/i'; $pattern = '/<script.?src=('|")(.?.js)1.*?>/i'; $pattern = '/<img.?src=('|")(.?)1.*?>/i'; $pattern = '/url(('|"|s)(.*?)1)/i'; return $data; function vardump($obj) { echo ' '; print_r($obj); echo ''; } ?> 代码如下: if(isset($_POST['url']) && isset($_POST['project']) && isset($_POST['domain'])) { extract($_POST); $url = preg_replace('/?.*$/',$url); $file = $url; $arr = explode('/',$file); $length = sizeof($arr); $filename = $arr[$length - 1]; $root = $project; $dir = $root; if($domain == 'http') { 使用方法: 1. 打开index页,输入项目名和要抓取的网址,网址必须是文件名结尾,如index.html; 2. 点Get按钮,得到当前页面所有的css,img等资源列表; 3. 点击css链接会获取css文件中的背景资源图片,附加在列表后头; 4. 点击Save All即可保存列表中所有的文件,并按相对路径生成; 5. 如果网页上有http远程文件,将会直接保存在http文件夹下; 6. Get和Save有时会失败,没关系重试几次即可。 希望本文所述对大家的php程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |