Call method xxx. php? User = xxx
Make sure that the current directory of the program is writable.
The default storage mode is
./Username/album 1 Description/image description-1. Image suffix
<? 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 "cant open $ filename ";
Exit;
}
If (fwrite ($ handle, $ data) === FALSE ){
Echo "cant 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 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 <$ 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> download google album </title>
<Form>
<Input name = user type = text>
<Input type = submit>
</Form>