加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP下载google相册到本地-PHP例子

发布时间:2022-07-26 14:34:46 所属栏目:PHP教程 来源:互联网
导读:PHP下载google相册到本地,调用方式xxx.php?user=xxx保证程序放的当前目录可写文件夹可写文件默认存放方式为./用户名/相册1描述/图片描述-1.图片后缀lt;?phpfunctionopen$host,$file{$return=;$header=;... 调用方式 xxx.php?user=xxx 保证程序放的当前目录可
  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>。

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读