当前位置:首页 » 编程语言 » php获取请求信息

php获取请求信息

发布时间: 2022-07-25 16:32:47

① thinkphp怎样获取ajax请求数据

一般将前台页面搜索结果中,不喜欢的内容(链接),删除掉,因为整个网站的编程框架式thinkphp,运用js中的ajax对页面进行响应,调用后台php接口,实现前台和后台数据库的同时更新.
首先我们需要做的就是在前台页面中添加一个文本“删除”,可以这么添加:
代码如下:

<a href="javascript:void(0);" id= "<php>echo $val[id]</php>" class="delete" >删除</a>
上面的html代码的意思:就是给删除添加一个href,这个href是个js函数,类似于超链接的作用,当然对于我这样的新手在刚开始的时候会有疑惑,我们平时的超链接不是这样的,网页中很多的javascript:void(0),那程序怎么知道用户点击删除后,会响应其真正对应的js函数呢?别急,这就是为什么会为删除添加id以及class这样的标签,相信我把js中的代码公布出来以后你就会明白了,代码如下:
jQuery(".list a.delete").click(function(){
if(confirm("你确定要删除吗?")){
var _this=this;
var id = jQuery(_this).attr("id");
jQuery.ajax({
url : '/Search/index.php/Jason/delete?',
data : {'id':id},
dataType : 'json',
success : function(data){
var del = data.del;
if(del == 1){//删除成功
jQuery("#"+id).parents(".list").remove();
}else{//删除失败
alert("删除失败");
}
}
});
}
});

大家看函数的头部:jQuery(".list a.delete").click(),jQuery后面的标签是很重要的,这就保证了jquery很准确的响应页面中用户点击的“位置”,添加的事件为click(),在click里添加响应事件的代码:var id = jQuery(_this).attr("id");获取a对应的id,因为这个id是我们删除数据库时用到的链接id,当然这种直接明文的方式不好,在这里只是介绍整个响应过程。调用ajax,实现异步的运行整个过程。我们设置了js接受的是json串,这里的方式应该有很多种吧,我没有去尝试,大家要是有兴趣可以自行尝试一下。/Search/index.php/Jason/delete?这句话就是js去请求php的接口,php接口对用的代码如下:
注意ajax在求php接口时的路径,也就是delete函数必须放在JasonAction.class.php中,此例子是必须这样的:
代码如下:

public function delete(){
if($this->isGet()){
$userId = session("uid");//用户登录
if(!empty($userId)){
$a = M('***');
$id = $this->_get('id');
$result=$a->where("id=$id")->delete();//删除
if($result > 0){
$arr = array("del"=>'1');
}else{
$arr = array("del"=>'0');
}
$json_str = json_encode($arr);
echo $json_str;//返回给js
}
}
}

相信大家对上面的代码不会陌生吧,整个过程都是thinkphp框架内部配置完毕的.
var del = data.del;这句是接受php代码返回来的json串中del这个key的value,进而在前台进行页面更新和响应.

复制代码代码如下:
if(del == 1){//删除成功
jQuery("#"+id).parents(".list").remove();//这句话就是后台删除成功后,直接在前台对响应的div进行删除,这样性能就会很快,无需进行后台数据的重新提取至前台页面中,
}else{//删除失败
alert("删除失败");
}
整个响应的过程就是这样,至于效果优化,是优化和细化方面的问题,后来,身边的同事又告诉我前台移除响应链接的另一个动态效果:
即将:
代码如下:
jQuery("#"+id).parents(".list").remove();
替换为:
代码如下:

jQuery("#"+id).parents(".list").slideUp("slow", function(){
jQuery(this).remove();
});

② php中如何获取post的请求包的原始内容

  1. $_POST['fieldname'];

  2. file_get_contents("php://input");

  3. $GLOBALS['HTTP_RAW_POST_DATA'];

③ PHP 可以获取客户端哪些访问信息

<?php
echo"<br>".$_SERVER['PHP_SELF'];#当前正在执行脚本的文件名,与documentroot相关
echo"<br>".$_SERVER['argv'];#传递给该脚本的参数。
echo"<br>".$_SERVER['argc'];#包含传递给程序的命令行参数的个数(如果运行在命令行模式)。
echo"<br>".$_SERVER['GATEWAY_INTERFACE'];#服务器使用的CGI规范的版本。例如,“CGI/1.1”。
echo"<br>".$_SERVER['SERVER_NAME'];#当前运行脚本所在服务器主机的名称。
echo"<br>".$_SERVER['SERVER_SOFTWARE'];#服务器标识的字串,在响应请求时的头部中给出。
echo"<br>".$_SERVER['SERVER_PROTOCOL'];#请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。
echo"<br>".$_SERVER['REQUEST_METHOD'];#访问页面时的请求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。
echo"<br>".$_SERVER['QUERY_STRING'];#查询(query)的字符串。
echo"<br>".$_SERVER['DOCUMENT_ROOT'];#当前运行脚本所在的文档根目录。在服务器配置文件中定义。
echo"<br>".$_SERVER['HTTP_ACCEPT'];#当前请求的Accept:头部的内容。
echo"<br>".$_SERVER['HTTP_ACCEPT_CHARSET'];#当前请求的Accept-Charset:头部的内容。例如:“iso-8859-1,*,utf-8”。
echo"<br>".$_SERVER['HTTP_ACCEPT_ENCODING'];#当前请求的Accept-Encoding:头部的内容。例如:“gzip”。
echo"<br>".$_SERVER['HTTP_ACCEPT_LANGUAGE'];#当前请求的Accept-Language:头部的内容。例如:“en”。
echo"<br>".$_SERVER['HTTP_CONNECTION'];#当前请求的Connection:头部的内容。例如:“Keep-Alive”。
echo"<br>".$_SERVER['HTTP_HOST'];#当前请求的Host:头部的内容。
echo"<br>".$_SERVER['HTTP_REFERER'];#链接到当前页面的前一页面的URL地址。
echo"<br>".$_SERVER['HTTP_USER_AGENT'];#当前请求的User_Agent:头部的内容。
echo"<br>".$_SERVER['HTTPS'];#—如果通过https访问,则被设为一个非空的值(on),否则返回off
echo"<br>".$_SERVER['REMOTE_ADDR'];#正在浏览当前页面用户的IP地址。
echo"<br>".$_SERVER['REMOTE_HOST'];#正在浏览当前页面用户的主机名。
echo"<br>".$_SERVER['REMOTE_PORT'];#用户连接到服务器时所使用的端口。
echo"<br>".$_SERVER['SCRIPT_FILENAME'];#当前执行脚本的绝对路径名。
echo"<br>".$_SERVER['SERVER_ADMIN'];#管理员信息
echo"<br>".$_SERVER['SERVER_PORT'];#服务器所使用的端口
echo"<br>".$_SERVER['SERVER_SIGNATURE'];#包含服务器版本和虚拟主机名的字符串。
echo"<br>".$_SERVER['PATH_TRANSLATED'];#当前脚本所在文件系统(不是文档根目录)的基本路径。
echo"<br>".$_SERVER['SCRIPT_NAME'];#包含当前脚本的路径。这在页面需要指向自己时非常有用。
echo"<br>".$_SERVER['REQUEST_URI'];#访问此页面所需的URI。例如,“/index.html”。
echo"<br>".$_SERVER['PHP_AUTH_USER'];#当PHP运行在Apache模块方式下,并且正在使用HTTP认证功能,这个变量便是用户输入的用户名。
echo"<br>".$_SERVER['PHP_AUTH_PW'];#当PHP运行在Apache模块方式下,并且正在使用HTTP认证功能,这个变量便是用户输入的密码。
echo"<br>".$_SERVER['AUTH_TYPE'];#当PHP运行在Apache模块方式下,并且正在使用HTTP认证功能,这个变量便是认证的类型。
?>

④ PHP-php 如何获取请求的xml数据

$url="你的请求地址";
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
//需返回HTTPheader
curl_setopt($ch,CURLOPT_HEADER,1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$output=curl_exec($ch);
curl_close($ch);
$output=explode(" ",$output);
//头信息
$header=$output[0];
//内容
$output=$output[1];//这里获得你的XML信息,然后自己解析XML
echo'<pre>',$output,'</pre>';

⑤ 如何在php中获取curl请求的请求头信息及相应头信息

oCurl=curl_init();

//设置请求头

$header[]="Content-type:application/x-www-form-urlencoded";

$user_agent="Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.36(KHTML,likeGecko)Chrome/33.0.1750.146Safari/537.36";

curl_setopt($oCurl,CURLOPT_URL,$sUrl);

curl_setopt($oCurl,CURLOPT_HTTPHEADER,$header);

//返回response_header,该选项非常重要,如果不为true,只会获得响应的正文

curl_setopt($oCurl,CURLOPT_HEADER,true);

//是否不需要响应的正文,为了节省带宽及时间,在只需要响应头的情况下可以不要正文

curl_setopt($oCurl,CURLOPT_NOBODY,true);

//使用上面定义的uacurl_setopt($oCurl,CURLOPT_USERAGENT,$user_agent);curl_setopt($oCurl,CURLOPT_RETURNTRANSFER,1);

//不用POST方式请求,意思就是通过GET请求

curl_setopt($oCurl,CURLOPT_POST,false);$sContent=curl_exec($oCurl);

//获得响应结果里的:头大小

$headerSize=curl_getinfo($oCurl,CURLINFO_HEADER_SIZE);

//根据头大小去获取头信息内容

$header=substr($sContent,0,$headerSize);

curl_close($oCurl);

⑥ php如何获取请求接口资源的请求者的IP地址

php获取接口资源的IP地址:

<?php

function getIPLoc_sina($queryIP){

$url = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip='.$queryIP;

$ch = curl_init($url);

curl_setopt($ch,CURLOPT_ENCODING ,'utf8');

curl_setopt($ch, CURLOPT_TIMEOUT, 5);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 获取数据返回

$location = curl_exec($ch);

$location = json_decode($location);

curl_close($ch);

$loc = "";

if($location===FALSE) return "";

if (empty($location->desc)) {

$loc = $location->province.$location->city.$location->district.$location->isp;

}else{ $loc = $location->desc;

}

return $loc;

}

echo getIPLoc_sina("183.37.209.57");

?>

⑦ PHP怎么获取DELETE请求的参数

进入php源程序目录中的ext目录中,这里存放着各个扩展模块的源代码,选择你需要的模块,比如curl模块:cd curl
执行phpize生成编译文件,phpize在PHP安装目录的bin目录下
/usr/local/php5/bin/phpize
运行时,可能会报错:Cannot find autoconf. Please check your autoconf installation and
the $PHP_AUTOCONF
environment variable is set correctly and then rerun this
script.,需要安装autoconf:
yum install autoconf(RedHat或者CentOS)、apt-get install
autoconf(Ubuntu Linux)
/usr/local/php5/bin/php -v
执行这个命令时,php会去检查配置文件是否正确,如果有配置错误,
这里会报错,可以根据错误信息去排查!你看过后很简单吧以后不会可以向我一样经常到后盾人找找相关教材看看就会了,希望能帮到你,给个采纳吧谢谢

⑧ php中怎样得到客户端的http请求header所有信息

<?php
ob_end_flush();
print_r(apache_request_headers());
?>

热点内容
编程叫码农 发布:2025-01-26 17:45:45 浏览:785
bat删除指定文件夹 发布:2025-01-26 17:41:58 浏览:650
哪些汽车品牌配置防爆胎 发布:2025-01-26 17:39:42 浏览:616
怎么更改苹果密码怎么办 发布:2025-01-26 17:15:55 浏览:272
char在c语言中是什么意思 发布:2025-01-26 16:54:13 浏览:68
sqllabview 发布:2025-01-26 16:53:11 浏览:647
如何成为安卓用户 发布:2025-01-26 16:41:23 浏览:966
宋祖儿小学生编程 发布:2025-01-26 16:39:35 浏览:632
杀手3重庆如何得到密码 发布:2025-01-26 16:27:10 浏览:803
小米5传文件夹 发布:2025-01-26 16:10:58 浏览:539