基于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.移动单个文件到七牛
/** * 移动单个头像到七牛 * @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实现七牛抓取远程图片的全部内容,希望大家喜欢。

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

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 !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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