Maison 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实现七牛抓取远程图片的全部内容,希望大家喜欢。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)