PHP下载google相册到本地-PHP实例_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP下载google相册到本地-PHP实例_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3475字,纯文字阅读大概需要5分钟。
内容图文
PHP下载google相册到本地-PHP实例
PHP下载google相册到本地,调用方式xxx.php?user=xxx保证程序放的当前目录可写文件夹可写文件默认存放方式为./用户名/相册1描述/图片描述-1.图片后缀lt;?phpfunctionopen$host,$file{$return=;$header='';...
调用方式 xxx.php?user=xxx
保证程序放的当前目录可写文件夹 可写文件
默认存放方式为
./用户名/相册1描述/图片描述-1.图片后缀
function open($host,$file){
$return = "";
$header = '';
while($header!='200'){
$fp = fsockopen($host, 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)
\n";
} else {
$out = "GET $file HTTP/1.1\r\n";
$out .= "Host: $host\r\n";
$out .= "P3P: CP=\"CAO PSA OUR\"\r\n";
$out .= "User-Agent: Baiduspider+(+[url]http://www.baidu.com/search/spider.htm[/url])\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
$return .= fgets($fp,1024);
}
fclose($fp);
}
PReg_match("/HTTP\/1.1 (.*?) OK/",$return,$output);
$header = $output[1];
}
preg_match("/\r\n\r\n(.+)/is", $return, $out);
$return = $out[1];
return mb_convert_encoding($return, "GB2312", "UTF-8");;
}
function openimg($host,$file){
$return = "";
$header = '302';
while($header=='302'){
$fp = fsockopen($host, 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)
\n";
} else {
$out = "GET $file HTTP/1.1\r\n";
$out .= "Host: $host\r\n";
$out .= "User-Agent: Baiduspider+(+[url]http://www.baidu.com/search/spider.htm[/url])\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
$return .= fgets($fp,1024);
}
fclose($fp);
}
preg_match("/HTTP\/1.0 (.*?) /",$return,$output);
$header = $output[1];
}
preg_match("/\r\n\r\n(.+)/is", $return, $out);
$return = $out[1];
if($header=='404') $return='';
return $return;
}
function img($host,$file,$dir,$name){
$data = openimg($host,$file);
// echo $dir;
$blankimg = '../images/blank.jpg';
$filename = $dir.'/'.$name;
// echo $filename;
if(!is_dir($dir)){
if(!mkdir($dir)) die('create dir error');
}
// echo $data;
if (!$handle = fopen($filename, 'w+')) {
echo "can't open $filename";
exit;
}
if (fwrite($handle, $data) === FALSE) {
echo "can't write $filename";
exit;
}
// echo "write to $filename done";
fclose($handle);
echo $filename."
\r\n";
}
$aid = ($_GET['aid']!='')?$_GET['aid']:0;
$user = $_GET['user'];
if(!is_dir($user)){
if(!mkdir($user)) die('create dir error');
}
if($user=='') die("user string can't be blank");
$userstr = '/'.$user.'/';
$html = str_replace("'",'',open('picasaweb.google.com',$userstr));
preg_match_all("/,access:public\n,title:(.*?)\n,url:(.*?)\n,src/s",$html,$album);
$all = count($album[1]);
if($aid>$all) die('OK');
$aurl = str_replace('\x2F','/',$album[2][$aid]);
$astr = './'.$user.'/'.$album[1][$aid];
$afile = str_replace('http://picasaweb.google.com','',$aurl);
$html = str_replace('$','',open('picasaweb.google.com',$afile));
preg_match_all("/\"summarytype\":\"text\",\"summary\":\"(.*?)\",\"contenttype\":\"(.*?)\",\"contentsrc\":\"(.*?)\",\"link\":/s",$html,$pics);
$allpic = count($pics[3]);
for($i=0;$i<$allpic;$i++){
$pic = $pics[3][$i];
$typetemp = explode('.',$pic);
$type = $typetemp[(count($typetemp)-1)];
$pname = $pics[1][$i].'-'.$i.'.'.$type;
$temp = explode('ggpht.com',$pic);
$imGhost = str_replace('http://','',$temp[0].'ggpht.com');
$imgfile = $temp[1];
img($imghost,$imgfile,$astr,$pname);
}
$aid++;
echo '';
?>
http://www.bkjia.com/PHPjc/950331.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/950331.htmlTechArticlePHP下载google相册到本地-PHP实例 PHP下载google相册到本地,调用方式xxx.php?user=xxx保证程序放的当前目录可写文件夹可写文件默认存放方式为./用...
内容总结
以上是互联网集市为您收集整理的PHP下载google相册到本地-PHP实例_PHP教程全部内容,希望文章能够帮你解决PHP下载google相册到本地-PHP实例_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。