源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

PHP采集静态页面并把页面css,img,js保存的方法

  • 时间:2020-01-03 07:12 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:PHP采集静态页面并把页面css,img,js保存的方法
本文实例讲述了PHP采集静态页面并把页面css,img,js保存的方法。分享给大家供大家参考。具体分析如下: 这是一个可以获取网页的html代码以及css,js,font和img资源的小工具,主要用来快速获取模板,如果你来不及设计UI或者看到不错的模板,则可以使用这个工具来抓取网页和提取资源文件,提取的内容会按相对路径来保存资源,因此你不必担心资源文件的错误url导入. 首页 index.php,代码如下:
[url=main.css] <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="main.js"></script> </head> <body> <h1>Web Grabber</h1> <hr /> <div class="box">   <h2>Url</h2>   <div class="form">     <input type="text" id="project" value="projectname" />     <input type="text" id="url" value="http://" size="60" />     <button class="submit" type="button">Get</button><span id="tip"></span>   </div> </div> <div class="box">   <span class="all" id="saveall">Save All</span>   <h2>List</h2>   <ul id="list">   </ul> </div> </body> </html>
抓取页面代码 grab.php,代码如下: 保存css,js,img等资源的页面 save.php,代码如下:
[u]复制代码[/u] 代码如下:
<?PHP  /*  *  flute  *  2014/03/31  */    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') {    $dir = $root.'/http';    if(!is_dir($dir)) mkdir($dir, 0777);   } else {    $file = $domain.'/'.$url;    for($i = 0; $i < $length -1; $i++) {     if(!emptyempty($arr[$i])) {      $dir .= '/'.$arr[$i];      if(!is_dir($dir)) mkdir($dir, 0777);     }    }   }   if(!file_exists($dir.'/'.$filename) || filesize($dir.'/'.$filename) == 0) {    $content = file_get_contents($file);    file_put_contents($dir.'/'.$filename, $content);   }  } ?>
使用方法: 1. 打开index页,输入项目名和要抓取的网址,网址必须是文件名结尾,如index.html; 2. 点Get按钮,得到当前页面所有的css,js,img等资源列表; 3. 点击css链接会获取css文件中的背景资源图片,附加在列表后头; 4. 点击Save All即可保存列表中所有的文件,并按相对路径生成; 5. 如果网页上有http远程文件,将会直接保存在http文件夹下; 6. Get和Save有时会失败,没关系重试几次即可。 希望本文所述对大家的php程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部