在跳轉的時候php一般默認你用的是相對地址所以會把域名自動加上,所以在存儲地址的時候一般要把http://加上。
創新互聯建站服務項目包括洪江網站建設、洪江網站制作、洪江網頁制作以及洪江網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,洪江網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到洪江省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!
php訪問url的四種方式
1.fopen方式
//訪問指定URL函數
[php] view plain copy
print?
function access_url($url) {
if ($url=='') return false;
$fp = fopen($url, 'r') or exit('Open url faild!');
if($fp){
while(!feof($fp)) {
$file.=fgets($fp)."";
}
fclose($fp);
}
return $file;
}
2.file_get_contents方式(打開遠程文件的時候會造成CPU飆升。file_get_contents其實也可以post)
[php] view plain copy
print?
$content = file_get_contents("httttp://w");
3.curl方式
[php] view plain copy
print?
function curl_file_get_contents($durl){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $durl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 獲取數據返回
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ; // 在啟用 CURLOPT_RETURNTRANSFER 時候將獲取數據返回
$r = curl_exec($ch);
curl_close($ch);
return $r;
}
4.fsockopen方式(只能獲取網站主頁信息,其他頁面不可以)
[php] view plain copy
print?
$fp = fsockopen("", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)br /\n";
} else {
$out="GET / HTTP/1.1\r\n";
$out.="Host: \r\n";
$out.="Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
常用的就三種吧,
file_get_contents(), fopen, curl
一般用 curl 擴展的比較多,除此以外還有其他方法
fsockopen 啥的
PHP中打開URL地址的幾種方法總結,這里的函數主要用于小偷采集等函數。
1:?用file_get_contents?
以get方式獲取內容?
復制代碼?代碼如下:
?php?
$url='';?
$html?=?file_get_contents($url);?
//print_r($http_response_header);?
ec($html);?
printhr();?
printarr($http_response_header);?
printhr();?
??
示例代碼2:?用fopen打開url,?
以get方式獲取內容?
復制代碼?代碼如下:
??
$fp?=?fopen($url,?'r');?
printarr(stream_get_meta_data($fp));?
printhr();?
while(!feof($fp))?{?
$result?.=?fgets($fp,?1024);?
}?
echo?"url?body:?$result";?
printhr();?
fclose($fp);?
??
示例代碼3:用file_get_contents函數,以post方式獲取url?
復制代碼?代碼如下:
?php?
$data?=?array?('foo'?=?
'bar');?
$data?=?http_build_query($data);?
$opts?=?array?(?
'http'?
=?array?(?
'method'?=?'POST',?
'header'=?"Content-type:?
application/x-www-form-urlencoded"?.?
"Content-Length:?"?.?strlen($data)?.?
"",?
'content'?=?$data?
),?
);?
$context?=?
stream_context_create($opts);?
$html?=?
file_get_contents('',?false,?$context);?
echo?$html;?
??
示例代碼4:用fsockopen函數打開url,以get方式獲取完整的數據,包括header和body?
復制代碼?代碼如下:
??
function?get_url?
($url,$cookie=false)?{?
$url?=?parse_url($url);?
$query?=?
$url[path]."?".$url[query];?
ec("Query:".$query);?
$fp?=?fsockopen(?
$url[host],?$url[port]?$url[port]:80?,?$errno,?$errstr,?30);?
if?(!$fp)?{?
return?false;?
}?else?{?
$request?=?"GET?$query?HTTP/1.1";?
$request?.=?"Host:?$url[host]";?
$request?.=?"Connection:?Close";?
if($cookie)?$request.="Cookie:?$cookie\n";?
$request.="";?
fwrite($fp,$request);?
while(!@feof($fp))?{?
$result?.=?@fgets($fp,?
1024);?
}?
fclose($fp);?
return?$result;?
}?
}?
//獲取url的html部分,去掉header?
function?GetUrlHTML($url,$cookie=false)?{?
$rowdata?=?get_url($url,$cookie);?
if($rowdata)?
{?
$body=?
stristr($rowdata,"");?
$body=substr($body,4,strlen($body));?
return?$body;?
}?
return?false;?
}?
?
在PHP的開發中我們經常會通過網址URL向另一個網頁傳遞參數的問題。在這個過程中我們首先需要獲取到當前頁面的URL,然后將URL中各個參數的值保存到變量中。整個過程較為簡單,主要涉及到$_SERVER的用法。
1、$_server['http_host'],作用:獲取網址域名,如(,這是波波的一個博客,暫且做例子吧)。
2、$_SERVER["PHP_SELF"],作用:獲取網頁地址,如(/code/445.html)。
3、$_SERVER["QUERY_STRING"],作用:獲取網址URL參數,待會我們會在實例中用到。
4、$_SERVER["HTTP_REFERER"],作用:獲取用戶的代理。
通過上述說明我們基本上已經了解了$_server的常用方法,下面我們首先通過PHP代碼獲取當前網頁網址中傳遞的參數。對參數進行解析并輸出到屏幕上。請看源代碼:
?php
$para=urldecode($_SERVER["QUERY_STRING"]);//避免網址參數中文亂碼
//舉例url=";b=bbbbc=cccc"
//$para='a=aaaab=bbbbc=cccc';
$cont=get_data($para);
echo$cont['a'];//屏幕打印aaaa
functionget_data($str){
$data=array();
$parameter=explode('',end(explode('?',$str)));
foreach($parameteras$val){
$tmp=explode('=',$val);
$data[$tmp[0]]=$tmp[1];
}
return$data;
}
?
當前名稱:php數據訪問url 如何訪問php文件
本文地址:http://m.kartarina.com/article40/hgpceo.html
成都網站建設公司_創新互聯,為您提供搜索引擎優化、網站制作、網站內鏈、App設計、、定制開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯