Maison > développement back-end > tutoriel php > PHP下载google相册到本地-PHP实例_PHP教程

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

WBOY
Libérer: 2016-07-13 10:08:43
original
5580 Les gens l'ont consulté

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保证程序放的当前目录可写文件夹可写文件默认存放方式为./用...
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal