php 抓取网页生成图片(《企业经营管理》第三届滨海国际(微)电影节参赛影片)

优采云 发布时间: 2022-04-07 07:28

  php 抓取网页生成图片(《企业经营管理》第三届滨海国际(微)电影节参赛影片)

  由于公司网站之前的用户头像都存放在自己的服务器上,后期管理不便,新添加的用户头像上传到七牛。领导为了方便统一管理,表示将本地服务器的头像全部迁移到七牛。

  1.整理思路

  先判断用户头像是否在七牛,如果没有,如果存在则在本地抓取七牛,然后进行批量爬取

  2.七牛判断图片是否存在

   /** * 查看七牛url是否存在 * @param string $url */ function url_exists($url) { require_once(COMMON_PATH."qiniu/rs.php"); require_once(COMMON_PATH."qiniu/http.php"); $parts=parse_url($url); $bucket ;//桶 $key=substr($parts["path"], );//七牛文件名 //密钥 $accessKey ; $secretKey ; Qiniu_SetKeys($accessKey, $secretKey); $client = new Qiniu_MacHttpClient(null); list($ret, $err) = Qiniu_RS_Stat($client, $bucket, $key);//查看单个文件信息 if ($err !== null) { return false; } else { return true; } }

  3.移动单个文件到七牛

  4.批量抓取

  function t(){ header("Content-type: text/html; charset=utf-8"); set_time_limit(0); $start = intval($_GET["num"]);//开始位置 $str = ""; /*从数据库查询记录*/ $link = mysql_connect("localhost", "root", "root") or die("error"); $db_selected = mysql_select_db("test", $link); mysql_query ("SET NAMES UTF8"); $limit = 10;//每次查询数 $sql = "SELECT * FROM test order by id desc limit {$start},{$limit}"; $result = mysql_query($sql) or die(mysql_error()); if(mysql_num_rows($result)) { while($row=mysql_fetch_assoc($result)){ oneFetch($row["remotePath"], $row["qiniuPath"]); } $start += 10; $url = "/t?num={$start}"; $str = "已经更新".$start."条<br />"; $str .= "location.href="".$url."";";//更新$limit条,跳转防止脚本无响应 } else { echo "结束"; } echo $str; ob_flush(); flush(); sleep(2); unset($sql,$result,$row); }

  以上内容就是七牛基于php实现远程抓图的全部内容,希望大家喜欢。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线