A. php文件為什麼直接可在url中訪問執行
php是一種腳本語言,要執行PHP文件就需要web伺服器來解析。所以在本地部署web伺服器(比如:apache,nginx,IIS等等),然後將PHP文件放在服務目錄,打開瀏覽器地址欄輸入訪問的地址(url)就可以看到執行該文件的結果了。
B. PHP怎麼調用網頁
a.php
<?php
/*不知道你是想跳轉還是取回網頁內容後顯示
$type為TRUE時採用頁面跳轉方式
$type為FALSE時採用取回內容後顯示
*/
$type = TRUE;
if( isset( $_GET['url'] ) ){
$url = 'http://' . $_GET['url'];
if( $type ){
header("Location: $url");
}else{
$page = file_get_contents($url);
echo $page;
}
}else{
echo '未設置URL參數';
}
?>
C. 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;
}
?>
D. PHP如何實現url/do的形式
url/?do是一種URL參數,需要你在後台進行處理,比如你寫上一個url:
localhost/index.php?id=123
那麼在後台你使用$_GET['id']就可以獲取到這個123,然後進行相應的處理,還有就是比如discuz的那種?mod=xxx&action=yyy的那種,原理都是一樣的,取得內容後直接進行處理即可。
E. 為什麼我這個php程序運行後URL會自動變更為www.localhost
$link = mysql_connect( "localhost", "root", "123456" );
這條語句是有問題的,因為你的數據不是安裝在本機,所以你不能用localhost來代替IP地址的寫法,所以你這里只能寫你空間提供商的IP地址,比如:
$link = mysql_connect( "198.11.11.1", "root", "123456" );寫IP地址就不會報錯了
F. php在提執行一個 $action之後如何返回原來的url
比如說你從test.php跳轉到~/demo.php?action=xxx,順便POST一個變數過來,刷新的時候文件開頭判斷這個變數存在不,不存在跳到原始url
G. php如何通過url調用php文件中的方法
題主所描述的這種形式,是MVC設計模式的典型應用。
通過使用PSR4來實現自動載入,可以通過處理路由來實現
//處理路由的方法
staticpublicfunctionroute()
{
//獲取的模塊
$_GET['m']=isset($_GET['m'])?$_GET['m']:'Index';
//獲取行為動作action又叫方法
$_GET['a']=isset($_GET['a'])?$_GET['a']:'index';
$controller='Controller\'.$_GET['m'].'Controller';
//echo$controller;
$c=new$controller();
//$c->$_GET['a']();
call_user_func(array($c,$_GET['a']));
}
最終可實現以下形式:
H. php 如何執行url
PHP:
header('Location: http://www.example.com/');
file_get_contents(http://it.sohu.com/7/1002/17/column20466721_3257.shtml);
I. 幾種php訪問url的方法
常用的就三種吧,
file_get_contents(), fopen, curl
一般用 curl 擴展的比較多,除此以外還有其他方法
fsockopen 啥的