Copy codeThe Code is as follows: <?
// Compatible with php4 php5
// Program author Zhang jian52linux.com (I love Linux)
// Contact 733905@qq.com QQ 733905
// Simple call Method
/*
<?
Include ("ugs. php"); // you can download this ugs. phps and rename it ugs. php
$ Ugs = new ugs ();
$ Url = "http://domainname.com/path_to_your_target? Param ";
$ Ugs-> seturl ($ url );
$ Ugs-> gather ();
// ...... Other methods in this class can be called here to adjust $ ugs-> value,
To meet your requirements
$ Content = $ ugs-> getcontent ();
Print ($ content );
?>
*/
Class ugs
{
Var $ value _; // 'target content
Var $ src _; // 'destination URL address
Function seturl ($ url)
{
$ This-> src _ = $ url;
}
Function getcontent ()
{
Return $ this-> value _;
}
Function getfile ($ url)
// Obtain the target
{
$ Url_parsed = parse_url ($ url );
$ Host = $ url_parsed ["host"];
$ Port = $ url_parsed ["port"];
If ($ port = 0) $ port = 80;
$ Path = $ url_parsed ["path"];
If (empty ($ path ))
$ Path = "/";
If ($ url_parsed ["query"]! = "")
$ Path. = "? ". $ Url_parsed [" query "];
$ Out = "GET $ path HTTP/1.0 \ r \ nHost: $ host \ r \ n ";
$ Fp = fsockopen ($ host, $ port, $ errno, $ errstr, 30 );
Fwrite ($ fp, $ out );
$ Body = false;
While (! Feof ($ fp ))
{
$ S = fgets ($ fp, 1024 );
If ($ body) $ in. = $ s;
If ($ s = "\ r \ n ")
$ Body = true;
}
Fclose ($ fp );
Return $ in;
}
Function getfile_curl ($ url)
{
$ Curl = "/usr/local/bin/curl"; // path to your curl
$ Curl_options = "-s -- connect-timeout 10 -- max-time 10 ";
// For curl usage, see curl -- help or man curl.
// Curl parameters are very rich. You can simulate various browsers (agents) and set referer
$ Cmd = "$ curl $ curl_options $ url ";
@ Exec ($ cmd, $ o, $ r );
If ($ r! = 0)
{
Return "timeout ";
}
Else
{
$ O = join ("", $ o );
Return $ o;
}
}
Function gather_curl ($ curl)
{
$ Http = $ this-> getfile_curl ($ this-> src _);
Return $ this-> value _ = $ http;
}
Function gather_array ($ url)
{
Return file ($ url );
}
Function gather ()
// Start collection
{
$ Http = $ this-> getfile ($ this-> src _);
Return $ this-> value _ = $ http;
}
Function gather_local ($ toline = true)
// Process local files
{
If ($ toline)
{
$ Http = file ($ this-> src _);
Return $ this-> value _ = $ this-> BytesToBstr ($ http );
}
Else
{
$ Http = file ($ this-> src _);
Return $ this-> value _ = $ http;
}
}
Function noReturn ()
// Delete the carriage return and line feed
{
$ This-> value _ = str_replace ("\ n", "", $ this-> value _);
$ This-> value _ = str_replace ("\ r", "", $ this-> value _);
}
Function change ($ oldStr, $ str)
// 'Replace the individual strings in the collected content with the new value/Method
// The 'parameters are old strings and new strings respectively
{
$ This-> value _ = str_replace ($ oldStr, $ str, $ this-> value _);
}
Function cut ($ start, $ end, $ no = '1', $ comprise = '')
// 'Cut the collected content by specifying the first and end strings (excluding the first and end strings)
// $ No must be 1, 2, 3... 0 is not allowed
// $ Comprise can select start, end, all, or nothing
{
$ String = explode ($ start, $ this-> value _);
// Print_r ($ string );
$ String = explode ($ end, $ string [$ no]);
// Print_r ($ string );
Switch ($ comprise ){
Case 'start ':
$ String = $ start. $ string [0];
Break;
Case 'end ':
$ String = $ string [0]. $ end;
Break;
Case 'all ':
$ String = $ start. $ string [0]. $ end;
Break;
Default:
$ String = $ string [0];
}
Return $ this-> value _ = $ string;
}
Function filt ($ head, $ bot, $ str, $ no = '1', $ comprise = '')
// 'Replace the collected content with a new value (excluding the first and last strings) based on the specified string
// The 'parameters are the first string, the last string, and the new value. If the new value is null, the filter is used.
{
$ Tmp_v = $ this-> value _;
$ Tmp = $ this-> cut ($ head, $ bot, $ no, $ comprise );
Return $ this-> value _ = str_replace ($ tmp, $ str, $ tmp_v );
}
Function local ()
{
// 'Change the absolute URL address in the collected content to the local relative address
// Not implemented yet
}
Function replaceByReg ($ patrn, $ str)
// 'Replace the string that matches the regular expression with the new value in the collected content/Method
// The 'parameter is your custom regular expression, New Value
{
Return $ this-> value _ = join ("", preg_replace ($ patrn, $ str, $ this-> value _));
}
Function debug ()
// Debug display
{
$ Tempstr = "<SCRIPT> function runEx () {var winEx2 = window. open (\ "\", \ "winEx2 \", \ "width = 500, height = 300, status = yes, menubar = no, scrollbars = yes, resizable = yes \ "); winEx2.document. open (\ "text/html \", \ "replace \"); winEx2.document. write (unescape (event. srcElement. parentElement. children [0]. value); winEx2.document. close ();} function saveFile () {var comment '); win. close () ;}</SCRIPT> <center> <TEXTAREA id = asdf name = textfield rows = 32 wrap = VIRTUAL cols = \ "120 \"> ". $ this-> value _. "</TEXTAREA> <BR> <INPUT name = Button onclick = runEx () type = button value = \ "view Results \"> <INPUT name = Button onclick = asdf. select () type = button value = \ "select all \"> <INPUT name = Button onclick = \ "asdf. value = ''\" type = button value = \ "Clear \"> <INPUT onclick = saveFile (); type = button value = \ "Save Code \"> </center> ";
Echo $ tempstr;
}
}
?>