程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP下載google相冊到本地-PHP實例

PHP下載google相冊到本地-PHP實例

編輯:關於PHP編程

     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.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)<br />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 "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 />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 can't 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<$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>

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved