php中獲取url
① php打開URL的幾種方法
PHP中打開URL地址的幾種方法總結,這里的函數主要用於小偷採集等函數。
1:用file_get_contents
以get方式獲取內容
復制代碼代碼如下:
<?php
$url='http://www..com/';
$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"urlbody:$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('http://localhost/e/admin/test.html',false,$context);
echo$html;
?>
示例代碼4:用fsockopen函數打開url,以get方式獲取完整的數據,包括header和body
復制代碼代碼如下:
<?
functionget_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){
returnfalse;
}else{
$request="GET$queryHTTP/1.1";
$request.="Host:$url[host]";
$request.="Connection:Close";
if($cookie)$request.="Cookie:$cookie ";
$request.="";
fwrite($fp,$request);
while(!@feof($fp)){
$result.=@fgets($fp,
1024);
}
fclose($fp);
return$result;
}
}
//獲取url的html部分,去掉header
functionGetUrlHTML($url,$cookie=false){
$rowdata=get_url($url,$cookie);
if($rowdata)
{
$body=
stristr($rowdata,"");
$body=substr($body,4,strlen($body));
return$body;
}
returnfalse;
}
?>
② php獲取制定url的信息
參考下php函數
$_SERVER['SERVER_NAME']和$_SERVER["REQUEST_URI"]以及$_GET數組,需要將結果處理一下,才可以得到你想要的那部分信息!
----
參考下這個不知道是不是你想要的,主要是分割字元串
<?php
$url
=
'
http://www..com/index.php?tn=monline_5_dg&action=class&op=grad';
$newurl
=
explode('?',$url);
$newurl[0]
=
ltrim($newurl[0],'http://');
$newurl[0]
=
explode('/',$newurl[0]);
print_r($newurl);
?>
③ 如何通過php獲取提交頁面的URL
在PHP的開發中我們經常會通過網址URL向另一個網頁傳遞參數的問題。在這個過程中我們首先需要獲取到當前頁面的URL,然後將URL中各個參數的值保存到變數中。整個過程較為簡單,主要涉及到$_SERVER的用法。
1、$_server['http_host'],作用:獲取網址域名,如(www.5ibobo.com,這是波波的一個博客,暫且做例子吧)。
2、$_SERVER["PHP_SELF"],作用:獲取網頁地址,如(/code/445.html)。
3、$_SERVER["QUERY_STRING"],作用:獲取網址URL參數,待會我們會在實例中用到。
4、$_SERVER["HTTP_REFERER"],作用:獲取用戶的代理。
④ 急!!php獲取url參數
首先這里的referer是指你點的是這個鏈接進入上傳頁面的。
你點了上傳操作,就又有了上傳的請求url,按你的代碼中:
U('album/imageupload',array('id'=>albumid))
上傳請求鏈接里你只傳了這個所以$_GET['id']只會接收到albumid
解決辦法:
方法一:
看看你的上傳插件支持不支持附加post傳參,支持的話在上傳插件中傳入,php用$_POST['id']就能得到id值
方法二:
上傳鏈接中另加一個參數
U('album/imageupload',array('id'=>albumid,
'albumid'=>$_GET['id']))
php里用$_GET['albumid']接收
⑤ php如何獲取當前頁面url路徑
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on")
{
$pageURL .= "s";
}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80")
{
$pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] .
$_SERVER["REQUEST_URI"];
}
else
{
$pageURL .= $_SERVER["SERVER_NAME"] .
$_SERVER["REQUEST_URI"];
}
return $pageURL;}?>
(5)php中獲取url擴展閱讀:
獲取域名或主機地址 :echo $_SERVER['HTTP_HOST'].""; #localhost
獲取網頁地址:echo $_SERVER['PHP_SELF'].""; #/blog/testurl.php
3.獲取網址參數:echo $_SERVER["QUERY_STRING"].""; #id=5
4.獲取用戶代理:echo $_SERVER['HTTP_REFERER']."";
⑥ php問題 隨機獲取N條url
直接使用while循環來處理,循環使用隨機函數mt_rand,將隨機數存入一個數組中,作為判斷數據是否重復的依據(in_array);使用glob函數來判斷new目錄下的文章篇數,作為生成隨機數的最大值;整體代碼如下:
代碼操作:
<?php
//獲取文件夾下html的數量
$max_num=glob("xxx/new/*.html");
$num=0;
$rand_num=[];
$result_arr=[];
while($num<100){
$tample_num=mt_rand(1,$max_num);
if(!in_array($tample_num,$rand_num)){
$rand_num[]=$tample_num;
$result_arr[]="http://www.abc.com/news/".$tample_num.".html";
$num++;
}
}
foreach($result_arras$v){
echo$v."<hr/>";
}
echo"數組的大小".count($result_arr);
⑦ PHP 如何獲取當前URL並去掉.html
很簡單啊:
<?php
//
第一步:你需要得到你的URL:
$URL=$_SERVER['HTTP_HOST']
.
$_SERVER['REQUEST_URI'];
//第二步:把得到的URL後面的「.HTML」去掉:
$geturl=str_replace('.html','',$URL);
echo
$geturl;
?>
但是,可但是:
你的這個頁面應該是php的才對吧,如果是html的,就一定是應用了擬靜態技術來重寫URL,這樣的話,上面的代碼你也可以使用,如果是生成的
靜態頁面
,那麼很不好意思,這個基本上不可行了。也無法達到你的意願。
⑧ php怎樣獲得鏈接來源url
使用PHP編寫程序的時候,想要獲取當前頁面的URL,可以了用函數來實現;參考方法如下:php//說明:獲取完整URLfunctioncurPageURL(){$pageURL='http';if($_...
⑨ php如何獲取當前的url
<?php
$url=($_SERVER['HTTP_HTTPS']?'https':'http').'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo$url;
?>
⑩ php提取字元串中網站url地址的方法
本文實例講述了php提取字元串中網站url地址的方法。分享給大家供大家參考。具體分析如下:
今天寫一個問答系統上線之後發現有很多人發鏈接了,由於業務部門要我們過濾掉網站地址了,下面我給大家分享一個提取字元串url地址函數,代碼如下:
復制代碼
代碼如下:$postInfo['answer2']
='可以的,商業貸款可攤還36%,公積金貸款可攤還16%|||可以先把賬戶里的余額提取出來用作首付,然後每個月貸款商業貸款可攤還36%,公積金貸款可攤還16%|||可以的,現在甲類公積金是攤還比例http://www.jb51.net
是工資基數的34%|||啊啊啊啊啊啊啊啊是的|||可以攤還,甲類34%
';
preg_match_all("/http:[\/]{2}[a-z]+[.]{1}[a-z\d\-]+[.]{1}[a-z\d]*[\/]*[A-Za-z\d]*[\/]*[A-Za-z\d]*/",$postInfo['answer2'],$array2);
print_r($array2);
if(!emptyempty($array2[0]))
{
foreach
($array2[0]
as
$k=>$v){
$postInfo['answer2']
=
str_replace($array2[0][$k],'',$postInfo['answer2']
);
}
}
運行結果為:
復制代碼
代碼如下:(
[0]
=>
Array
(
[0]
=>
http://www.jb51.net
)
)
希望本文所述對大家的PHP程序設計有所幫助。