来源:自学PHP网 时间:2014-12-25 09:57 作者: 阅读:次
[导读] PHP下载google相册到本地,调用方式xxx.php?user=xxx保证程序放的当前目录可写文件夹可写文件默认存放方式为./用户名/相册1描述/图片描述-1.图片后缀lt;?phpfunctionopen$host,$file{$return=;$header='';...
调用方式 xxx.php?user=xxx 保证程序放的当前目录可写文件夹 可写文件 默认存放方式为 ./用户名/相册1描述/图片描述-1.图片后缀<?php function open($host,$file){ $return = ""; $header = ''; while($header!='200'){ $fp = fsockopen($host, 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br />\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)<br />\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."<br />\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 '<meta http-equiv="refresh" content="2;url=?aid='.$aid.'&user='.$user.'">'; ?> <title>下载google相册</title> <form> <input name=user type=text> <input type=submit> </form> 作者:落伍 山贼 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com