ホームページ php教程 php手册 基于php实现七牛抓取远程图片

基于php实现七牛抓取远程图片

Jun 06, 2016 pm 07:36 PM

由于公司网站之前的用户头像都是存储在自己的服务器上的,后来感觉管理不方便,新增加的用户头像都上传到了七牛,为了方便统一管理,领导说把本地服务器的头像全

由于公司网站之前的用户头像都是存储在自己的服务器上的,后来感觉管理不方便,新增加的用户头像都上传到了七牛,为了方便统一管理,领导说把本地服务器的头像全部迁移到了七牛。

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.移动单个文件到七牛

/** * 移动单个头像到七牛 * @param string $remotePath 远程文件在服务器上的物理地址 * @param string $qiniuPath 七牛文件地址 */ function oneFetch($remotePath,$qiniuPath){ if(!$this->url_exists($qiniuPath) && file_exists($remotePath)){ require_once(COMMON_PATH."qiniu/rs.php"); require_once(COMMON_PATH."qiniu/http.php"); require_once(COMMON_PATH."qiniu/conf.php"); $client = new Qiniu_MacHttpClient(NULL); /*$accessUrl 远程文件访问地址 *$bucket桶 *$key 存储在七牛的文件名 */ $ret = Qiniu_RS_Fetch($client,$accessUrl, $bucket, $key); if($ret != NULL) { $errlog = 'fail.log';//写错误日志 file_put_contents($errlog, "{$key}\n", FILE_APPEND); } else { var_dump($ret); } }else{ var_dump('已有头像'); } }

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.'条
'; $str .= '<script>location.href="'.$url.'";</script>';//更新$limit条,跳转防止脚本无响应 } else { echo '结束'; } echo $str; ob_flush(); flush(); sleep(2); unset($sql,$result,$row); }

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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)