>백엔드 개발 >PHP 튜토리얼 >무선 데이터 수집 데이터 수집 클래스

무선 데이터 수집 데이터 수집 클래스

WBOY
WBOY원래의
2016-07-29 08:36:15874검색

코드 복사 코드는 다음과 같습니다.


// php4 php5 호환
// 프로그램 작성자 Zhang Jian 52linux.com (저는 Linux를 좋아합니다)
// 문의 방법 733905@qq.com QQ 733905
// 간단한 호출 방법
/*
include ("ugs.php") // 이 ugs.phps를 다운로드하고 ugs.php로 이름을 바꿀 수 있습니다
$ ugs = new ugs();
$url = "http://domainname.com/path_to_your_target?param"
$ugs->seturl($url)
$ugs->gather ( )//......여기서 이 클래스의 다른 메소드를 호출하여 $ugs->value_를
요구사항에 맞게
$c
print($ content);
*/
class ugs
{
var $value_ ; //'대상 콘텐츠
//'대상 URL 주소
function seturl($url)
{
$this->src_=$url
}
function getcontent()
{
return $this->value_;
}
function getfile($url)
// 대상 가져오기
{
$url_parsed = pars_url($url)
$host = $url_parsed["host"];
$port = $url_parsed["port"];
if ($port==0) $port = 80
$path = $url_parsed["path" ]; ($path))
$path="/";
if ($url_parsed["query"] != "")
$path .= "?" ;
$out = "$path HTTP/1.0rnHost: $hostrnrn";
$fp = fsockopen($host, $port, $errno, $errstr, 30)
fwrite($fp , $out);
$body = false;
while (!feof($fp))
{
$s = fgets($fp, 102 4)
if ( $ body ) $in .= $s
if ( $s == "rn" )
$body = true; fclose($fp)
return $in; function getfile_curl($url)
{
$curl="/usr/local/bin/curl "; // 컬의 경로
$curl_opti
// 컬 사용법은 다음을 참조하세요. 컬 --help 또는 man 컬
// 컬은 매우 풍부한 매개변수를 가지며 다양한 브라우저(에이전트)를 시뮬레이션할 수 있습니다.
$cmd="$curl $curl_options $url "; ($cmd,$o,$r);
if($r!=0)
{
return "timeout"
}
Else {
$ o = Join ("", $ o);
$ o 반환
}
}
함수 Gather_curl($ 컬)
{{{{{{{{{{ {{{{{
         $http=$this->getfile_curl($this->src_);                                                 
    function gather_array($url)
     {
        return file($url);
    }
    함수   gather()
     // 开始收集
    {
        $http=$this->getfile($this->src_);
        return $this->value_=$http;
    }
    function gather_local($toline=true)
     // 处理本地文件
    {
        if($toline)
   
            $http=파일($this- >src_);
            return $this->value_=$this->BytesToBstr($http);
        }
        else
        {
            $http=file($this->src_);
            $this->value_=$http를 반환합니다.
        }
    }
    함수 noReturn()
     // 删除回车换行
    {
        $this->value_=str_replace("n","",$this- >값_);
        $this->value_=str_replace("r","",$this->value_);
    }
    기능 변경($oldStr,$str)
    //'对收集到的内容中的个别字符串用新值更换/方法
    //'参数分别字符串, 새로운 문자符串
    {
        $this->value_=str_replace($oldStr,$str,$this->value_ );
    }
    함수 cut($start,$end,$no='1',$comprise='')
    //'按指定首尾字符串对收集的内容进行裁减(不包括首尾字符串) 방법
    // $no 必须是 1,2 3 ... 不允许是0
    //$comprise 可以选择 start 或者 end 或者 all 或者 什么書不填
    {
$string=explode($start,$this->value_);
        //print_r($string);
        $string=explode($end,$string[$no]);
        //print_r($string);
        스위치 ($comprise){
                case 'start':
                     $string=$start.$string[0];
                휴식;
               케이스 '종료':
                      $string=$string[0].$end;
                휴식;
               대문자 '모두':
                      $string=$start.$string[0].$end;
                휴식;
               기본값:
                       $string=$string[0];
        }
        return $this->value_=$string;
        }
function filt($head,$bot,$str,$no='1',$comprise='')
//'수집된 콘텐츠를 지정된 첫 번째와 마지막에 따라 새로운 값으로 교체 strings (첫 번째 및 마지막 문자열 제외) 메서드
// '매개변수는 첫 번째 문자열, 마지막 문자열, 새 값입니다. 새 값이 비어 있으면 필터링됩니다.
{
$tmp_v=$this->value_;
         $tmp=$this->cut($head,$bot,$no,$comprise) 🎜> }
function local()
{
//'수집된 콘텐츠의 절대 URL 주소를 로컬 상대 주소로 변경
// 아직 구현되지 않았습니다
}
function replacementByReg($patrn,$str)
// '수집된 콘텐츠의 정규식과 일치하는 문자열을 새 값/메소드로 교체
//'매개변수는 사용자 정의 정규식입니다. 새 값
{
return $this->value_=join ("",preg_replace($patrn,$str,$this->value_));
//디버그 표시
{
$tempstr="<SCRIPT>function runEx(){var winEx2 = window.open("", "winEx2", "너비=500, 높이=300, 상태=yes,menubar=no,scrollbars=yes,resizing=yes") winEx2.document.open("text/html" , "교체"); winEx2.document.write(unescape(event.srcElement.parentElement.children [0].value)); winEx2.document.close() }function saveFile(){var win=window.open( '','','top=10000,left=10000');win.document.write(document.all.asdf.innerText);win.document.execCommand('SaveAs','','javascript.htm' );win.close();}</SCRIPT>



echo $tempstr;
}
}
?>


위 내용은 무선 데이터 수집을 포함하여 데이터 수집 클래스인 무선 데이터 수집을 소개하고 있는데, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.