php如何查看請(qǐng)求數(shù)據(jù) php獲取數(shù)據(jù)

php如何獲得http?post的數(shù)據(jù)?

PHP獲取POST數(shù)據(jù)的幾種方法:

創(chuàng)新互聯(lián)專(zhuān)注于上栗企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站開(kāi)發(fā)。上栗網(wǎng)站建設(shè)公司,為上栗等地區(qū)提供建站服務(wù)。全流程按需策劃設(shè)計(jì),專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)

方法1、最常見(jiàn)的方法是:$_POST['fieldname'];

說(shuō)明:只能接收Content-Type:

application/x-www-form-urlencoded提交的數(shù)據(jù)。

方法2、file_get_contents("php://input");

說(shuō)明:

允許讀取

POST

的原始數(shù)據(jù)。

$HTTP_RAW_POST_DATA

比起來(lái),它給內(nèi)存帶來(lái)的壓力較小,并且不需要任何特殊的

php.ini

設(shè)置。

php://input

不能用于

enctype="multipart/form-data"。

方法3、$GLOBALS['HTTP_RAW_POST_DATA'];

說(shuō)明:

總是產(chǎn)生

$HTTP_RAW_POST_DATA

變量包含有原始的

POST

數(shù)據(jù)。

此變量?jī)H在碰到未識(shí)別

MIME

類(lèi)型的數(shù)據(jù)時(shí)產(chǎn)生。

怎么查看php發(fā)出的post請(qǐng)求

用PHP向服務(wù)器發(fā)送HTTP的POST請(qǐng)求,代碼如下:

?php

/**

* 發(fā)送post請(qǐng)求

* @param string $url 請(qǐng)求地址

* @param array $post_data post鍵值對(duì)數(shù)據(jù)

* @return string

*/

function send_post($url, $post_data) {

$postdata = http_build_query($post_data);

$options = array(

'http' = array(

'method' = 'POST',

'header' = 'Content-type:application/x-www-form-urlencoded',

'content' = $postdata,

'timeout' = 15 * 60 // 超時(shí)時(shí)間(單位:s)

)

);

$context = stream_context_create($options);

$result = file_get_contents($url, false, $context);

return $result;

}

使用的時(shí)候直接調(diào)用上面定義的send_post方法:

$post_data = array(

'username' = 'username',

'password' = 'password'

);

send_post('網(wǎng)址', $post_data);

如何查看php進(jìn)程請(qǐng)求的socket詳情

PHP使用socket發(fā)送HTTP請(qǐng)求的方法,具體如下:

socket方式:

$socket?=?socket_create(AF_INET,?SOCK_STREAM,?SOL_TCP);//socket_set_option($socket,?SOL_SOCKET,?SO_SNDTIMEO,?array("sec"=20,?"usec"=0));socket_connect($socket,?'',?80);//里面的換行代表?\r\n?注意拷貝的代碼后面可能有空格$http?=?eof

GET?/?HTTP/1.0

Accept:?*/*

User-Agent:?Lowell-Agent

Host:?

Connection:?Close

eof;

socket_write($socket,?$http,?strlen($http));while($str?=?socket_read($socket,?1024))

{

echo?$str;

}

socket_close($socket);

fsockopen方式:

$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,?$http);

while?(!feof($fp))?{

echo?fgets($fp,?128);

}

fclose($fp);

}

原始socket方式:

$fp?=?stream_socket_client("tcp://",?$errno,?$errstr,?30);if?(!$fp)?{

echo?"$errstr?($errno)br?/\n";

}?else?{

$http?=?eof

GET?/?HTTP/1.0

Accept:?*/*

User-Agent:?Lowell-Agent

Host:?

Connection:?Close

eof;

fwrite($fp,?$http);

while?(!feof($fp))?{

echo?fgets($fp,?1024);

}

fclose($fp);

}

stream??方式(get):

$http?=?eof

Host:?

User-Agent:?Mozilla/5.0?(Windows?NT?6.1;?WOW64;?rv:27.0)?Gecko/20100101?Firefox/27.0Accept:?text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language:?zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3Cookie:?BAIDUID=79D98B1AD8436C57B967E111E484F1CD:FG=1;?BDUSS=lF-UFFOanFPVG92NmF4U3NiTEoxOFh4YVBCTnZaMUtoTUNhZmxrWThwN25IaUJVQVFBQUFBJCQAAAAAAAAAAAEAAADzo1gKc2lxaW5pYW8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOeR-FPnkfhTU;?BAIDUPSID=79D98B1AD8436C57B967E111E484F1CD;?BD_UPN=13314352;?BD_HOME=1;?H_PS_PSSID=10047_1435_10874_10212_10501_10496_10753_10796_10219_10355_10666_10597_10095_10658_10442_10700_10460_10360_10618;?sug=3;?sugstore=0;?ORIGIN=2;?bdime=0Connection:?keep-alive

Cache-Control:?max-age=0

eof;

$hdrs?=?array(

'http'?=array(

'header'?=?$http,

'timeout'=1,?//超時(shí)?秒

'method'?=?'GET',?//默認(rèn)方式

'protocol_version'?=?'1.1',?//默認(rèn)為?1.0),

);

//參數(shù)格式參考?方式的格式可以參考;??=?stream_context_create($hdrs);

echo?file_get_contents('',?0,?$context);stream??方式?post:

$postdata?=?http_build_query(array('act'='save',?'id'=387171));$http?=?eof

Host:?

User-Agent:?Mozilla/5.0?(Windows?NT?6.1;?WOW64;?rv:27.0)?Gecko/20100101?Firefox/27.0Accept:?text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language:?zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3Content-Type:?application/x-www-form-urlencoded;?charset=UTF-8Cookie:?BAIDUID=79D98B1AD8436C57B967E111E484F1CD:FG=1;?BDUSS=lF-UFFOanFPVG92NmF4U3NiTEoxOFh4YVBCTnZaMUtoTUNhZmxrWThwN25IaUJVQVFBQUFBJCQAAAAAAAAAAAEAAADzo1gKc2lxaW5pYW8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOeR-FPnkfhTU;?BAIDUPSID=79D98B1AD8436C57B967E111E484F1CD;?BD_UPN=13314352;?BD_HOME=1;?H_PS_PSSID=10047_1435_10874_10212_10501_10496_10753_10796_10219_10355_10666_10597_10095_10658_10442_10700_10460_10360_10618;?sug=3;?sugstore=0;?ORIGIN=2;?bdime=0Connection:?keep-alive

Cache-Control:?max-age=0

eof;

#注意post方式需要增加Content-Type

$hdrs?=?array(

'http'?=array(

'header'?=?$http,

'timeout'=1,?//超時(shí)?秒

'method'?=?'POST',

'content'?=?$postdata,

'protocol_version'?=?'1.1',?//默認(rèn)為?1.0),

);

//參數(shù)格式參考?方式的格式可以參考;??=?stream_context_create($hdrs);

echo?file_get_contents('',?0,?$context);

php 怎么知道http請(qǐng)求的狀態(tài)(比如正常連線

PHP可以用 ignore_user_abort 忽略用戶(hù)的中斷,繼續(xù)執(zhí)行腳本??梢杂?register_shutdown_function()

在中斷時(shí)回調(diào)函數(shù)?;卣{(diào)可以用 connection_status 查看連接的狀態(tài):

0 - NORMAL

1 - ABORTED

2 - TIMEOUT

3 - ABORTED and TIMEOUT

在PHP學(xué)習(xí)過(guò)程中如何獲取http請(qǐng)求中的參數(shù)值?

可以使用PHP的全局靜態(tài)變量$_GET獲取get請(qǐng)求的參數(shù)

$_POST獲取post請(qǐng)求的參數(shù)

其他一些請(qǐng)求傳遞數(shù)據(jù)可以使用file_get_contents等函數(shù)獲取

thinkphp怎樣獲取ajax請(qǐng)求數(shù)據(jù)

一般將前臺(tái)頁(yè)面搜索結(jié)果中,不喜歡的內(nèi)容(鏈接),刪除掉,因?yàn)檎麄€(gè)網(wǎng)站的編程框架式thinkphp,運(yùn)用js中的ajax對(duì)頁(yè)面進(jìn)行響應(yīng),調(diào)用后臺(tái)php接口,實(shí)現(xiàn)前臺(tái)和后臺(tái)數(shù)據(jù)庫(kù)的同時(shí)更新.

首先我們需要做的就是在前臺(tái)頁(yè)面中添加一個(gè)文本“刪除”,可以這么添加:

代碼如下:

a href="javascript:void(0);" id= "phpecho $val[id]/php" class="delete" 刪除/a

上面的html代碼的意思:就是給刪除添加一個(gè)href,這個(gè)href是個(gè)js函數(shù),類(lèi)似于超鏈接的作用,當(dāng)然對(duì)于我這樣的新手在剛開(kāi)始的時(shí)候會(huì)有疑惑,我們平時(shí)的超鏈接不是這樣的,網(wǎng)頁(yè)中很多的javascript:void(0),那程序怎么知道用戶(hù)點(diǎn)擊刪除后,會(huì)響應(yīng)其真正對(duì)應(yīng)的js函數(shù)呢?別急,這就是為什么會(huì)為刪除添加id以及class這樣的標(biāo)簽,相信我把js中的代碼公布出來(lái)以后你就會(huì)明白了,代碼如下:

jQuery(".list a.delete").click(function(){

if(confirm("你確定要?jiǎng)h除嗎?")){

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("刪除失敗");

}

}

});

}

});

大家看函數(shù)的頭部:jQuery(".list a.delete").click(),jQuery后面的標(biāo)簽是很重要的,這就保證了jquery很準(zhǔn)確的響應(yīng)頁(yè)面中用戶(hù)點(diǎn)擊的“位置”,添加的事件為click(),在click里添加響應(yīng)事件的代碼:var id = jQuery(_this).attr("id");獲取a對(duì)應(yīng)的id,因?yàn)檫@個(gè)id是我們刪除數(shù)據(jù)庫(kù)時(shí)用到的鏈接id,當(dāng)然這種直接明文的方式不好,在這里只是介紹整個(gè)響應(yīng)過(guò)程。調(diào)用ajax,實(shí)現(xiàn)異步的運(yùn)行整個(gè)過(guò)程。我們?cè)O(shè)置了js接受的是json串,這里的方式應(yīng)該有很多種吧,我沒(méi)有去嘗試,大家要是有興趣可以自行嘗試一下。/Search/index.php/Jason/delete?這句話(huà)就是js去請(qǐng)求php的接口,php接口對(duì)用的代碼如下:

注意ajax在求php接口時(shí)的路徑,也就是delete函數(shù)必須放在JasonAction.class.php中,此例子是必須這樣的:

代碼如下:

public function delete(){

if($this-isGet()){

$userId = session("uid");//用戶(hù)登錄

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

}

}

}

相信大家對(duì)上面的代碼不會(huì)陌生吧,整個(gè)過(guò)程都是thinkphp框架內(nèi)部配置完畢的.

var del = data.del;這句是接受php代碼返回來(lái)的json串中del這個(gè)key的value,進(jìn)而在前臺(tái)進(jìn)行頁(yè)面更新和響應(yīng).

復(fù)制代碼代碼如下:

if(del == 1){//刪除成功

jQuery("#"+id).parents(".list").remove();//這句話(huà)就是后臺(tái)刪除成功后,直接在前臺(tái)對(duì)響應(yīng)的div進(jìn)行刪除,這樣性能就會(huì)很快,無(wú)需進(jìn)行后臺(tái)數(shù)據(jù)的重新提取至前臺(tái)頁(yè)面中,

}else{//刪除失敗

alert("刪除失敗");

}

整個(gè)響應(yīng)的過(guò)程就是這樣,至于效果優(yōu)化,是優(yōu)化和細(xì)化方面的問(wèn)題,后來(lái),身邊的同事又告訴我前臺(tái)移除響應(yīng)鏈接的另一個(gè)動(dòng)態(tài)效果:

即將:

代碼如下:

jQuery("#"+id).parents(".list").remove();

替換為:

代碼如下:

jQuery("#"+id).parents(".list").slideUp("slow", function(){

jQuery(this).remove();

});

分享名稱(chēng):php如何查看請(qǐng)求數(shù)據(jù) php獲取數(shù)據(jù)
本文URL:http://muchs.cn/article20/doccejo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、建站公司、虛擬主機(jī)、品牌網(wǎng)站制作、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)