Heim > Backend-Entwicklung > PHP-Tutorial > PHP下载google相册到本地-PHP实例_PHP教程

PHP下载google相册到本地-PHP实例_PHP教程

WBOY
Freigeben: 2016-07-13 10:08:43
Original
5595 Leute haben es durchsucht

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

        $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相册

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/950331.htmlTechArticlePHP下载google相册到本地-PHP实例 PHP下载google相册到本地,调用方式xxx.php?user=xxx保证程序放的当前目录可写文件夹可写文件默认存放方式为./用...
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage