>php教程 >php手册 >Google相册到本地PHP下载

Google相册到本地PHP下载

WBOY
WBOY원래의
2016-06-13 10:36:361268검색

调用方式 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.1rn";

    $out .= "Host: $hostrn";

    $out .= "P3P: CP="CAO PSA OUR"rn";

    $out .= "User-Agent: Baiduspider+(+[url]http://www.baidu.com/search/spider.htm[/url])rn";

    $out .= "Connection: Closernrn";

    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("/rnrn(.+)/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.1rn";

    $out .= "Host: $hostrn";

    $out .= "User-Agent: Baiduspider+(+[url]http://www.baidu.com/search/spider.htm[/url])rn";

    $out .= "Connection: Closernrn";

    fwrite($fp, $out);

    while (!feof($fp)) {

        $return .= fgets($fp,1024);

    }

    fclose($fp);

}

preg_match("/HTTP/1.0 (.*?) /",$return,$output);

$header = $output[1];

}

preg_match("/rnrn(.+)/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 "cant open $filename";

         exit;

    }

    if (fwrite($handle, $data) === FALSE) {

        echo "cant write $filename";

        exit;

    }

    // echo "write to $filename done";

    fclose($handle);

echo $filename."
rn";

}

$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 cant be blank");

$userstr = /.$user./;

$html = str_replace("",,open(picasaweb.google.com,$userstr));

preg_match_all("/,access:publicn,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

        $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 ;

?>

下载google相册

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:PHP写缓存다음 기사:PHP一个小巧的缓存类