1. 几种php访问url的方法
常用的就三种吧,
file_get_contents(), fopen, curl
一般用 curl 扩展的比较多,除此以外还有其他方法
fsockopen 啥的
2. 如何用php调用外部接口json数据
一般使用php发送请求,获取返回的数据,进行解析;
<?php
$url="接口地址";
//发送请求获取返回值,file_get_contents只支持get请求,post使用curl
$json = file_get_contents($url);
//把json数据转化成数组
$data = json_decode($json,true);
//打印看看
print_r($data);
?>
3. 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;
}
?>
4. php 如何执行url
PHP:
header('Location: http://www.example.com/');
file_get_contents(http://it.sohu.com/7/1002/17/column20466721_3257.shtml);
5. PHP调用数据库中的URL地址进行跳转问题
在跳转的时候php一般默认你用的是相对地址所以会把域名自动加上,所以在存储地址的时候一般要把http://加上。http://www..com
6. php如何访问带参数的url(接口设定是访问这个带参数的url会返回一个xml文件),并完成对xml文件的读取
fopen、file_get_contents都可以,详细网络: php 打开url
7. 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']));
}
最终可实现以下形式:
8. php怎么调用其他网站提供的api 接口
在这里openUser.php相当于一个接口,其中get_user_list 是一个API(获取用户列表),讲求返回的数据类型为JSON格式。
需要在PHP代码中执行这条链接他就会返回。
GET方式的直接使用
$file_contents = file_get_content('http://localhost/openUser.php?act=get_user_list&type=json')
POST方式得用下面的。
$url = 'http://localhost/openUser.php?act=get_user_list&type=json';
$ch = acurl_init ();
acurl_setopt ( $ch, CURLOPT_URL, $url );
acurl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
acurl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, 10 );
acurl_setopt ( $ch, CURLOPT_POST, 1 ); //启用POST提交
$file_contents = curl_exec ( $ch );
9. php中想调用url后的参数进入另一个链接中,不知道如何操作
方法是
<img src="<? echo $_GET['num'] ?>.gif" />
其中$_GET['num']等于你图片的名字。
不过PHP只能实现需要刷新页面的。
如果需要无刷新的就只能用JS了。