重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

php根据post的数据 php post用法

php函数里面怎么获取post过来的值

php直接用全局变量$_POST来接收post参数

为宣汉等地区用户提供了全套网页设计制作服务,及宣汉网站建设行业解决方案。主营业务为成都做网站、网站设计、宣汉网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

比如:前端input name ="username" value="123" type="text"/

参数username通过post传参数到服务器,php以$_POST['username']来接收

php 提交post数据的问题

在php中要模拟post请求数据提交我们会使用到curl函数,下面我来给大家举几个curl模拟post请求提交数据例子有需要的朋友可参考参考。

注意:curl函数在php中默认是不被支持的,如果需要使用curl函数我们需在改一改你的php.ini文件的设置,找到php_curl.dll去掉前面的";"就行了

例1

?php

$uri = "";

// 参数数组

$data = array (

'name' = 'tanteng'

// 'password' = 'password'

);

$ch = curl_init ();

// print_r($ch);

curl_setopt ( $ch, CURLOPT_URL, $uri );

curl_setopt ( $ch, CURLOPT_POST, 1 );

curl_setopt ( $ch, CURLOPT_HEADER, 0 );

curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );

curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );

$return = curl_exec ( $ch );

curl_close ( $ch );

print_r($return);

接受php页面远程服务器:

?php

if(isset($_POST['name'])){

if(!empty($_POST['name'])){

echo '您好,',$_POST['name'].'!';

}

}

?

例2

用CURL模拟POST请求抓取邮编与地址

完整代码: 代码如下

#!/usr/local/php/bin/php

?php

$runtime = new runtime ();

$runtime-start ();

$cookie_jar = tempnam('/tmp','cookie');

$filename = $argv[1];

$start_num= $argv[2];

$end_num = $argv[3];

for($i=$start_num; $i$end_num; $i++){

$zip = sprintf('6s',$i);

$fields_post = array(

'postcode' = $zip,

'queryKind' = 2,

'reqCode' = 'gotoSearch',

'search_button.x'=37,

'search_button.y'=12

);

$fields_string = http_build_query ( $fields_post, '' );

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "URL?reqCode=gotoSearchqueryKind=2postcode=".$zip);

curl_setopt($ch, CURLOPT_HEADER, true);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120 );

curl_setopt($ch, CURLOPT_REFERER, $refer );

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers_login );

curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar );

curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar );

curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);

curl_setopt($ch, CURLOPT_POST, 1); // 发送一个常规的Post请求

curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string );

$data = curl_exec($ch);

preg_match_all('/id="table1"[s]*?tr[s]*?td class="maintext"[sS]*?/td[s]*?/tr/', $data, $matches);

if (!$handle = fopen($filename, 'a+')) {

echo "不能打开文件 $filename";

echo "n";

exit;

}

if (fwrite($handle, $matches[0][1]) === FALSE) {

echo "不能写入到文件 $filename";

echo "n";

exit;

}

echo "成功地将 $somecontent 写入到文件$filename";

echo "n";

fclose($handle);

curl_close($ch);

}

class runtime

{

var $StartTime = 0;

var $StopTime = 0;

function get_microtime()

{

list($usec,$sec)=explode(' ',microtime());return((float)$usec+(float)$sec);

}

function start()

{

$this-StartTime=$this-get_microtime();

}

function stop(){

$this-StopTime=$this-get_microtime();

}

function spent()

{

return ($this-StopTime-$this-StartTime);

}

}

$runtime-stop ();

$con = 'Processed in'.$runtime-spent().'seconds';

echo 'Processed in'. $runtime-spent().'seconds';

模拟POST请求 提交数据或上传文件 .

.

代码如下 复制代码

发送POST请求

function execUpload(){

$file = '/doucment/Readme.txt';

$ch = curl_init();

$post_data = array(

'loginfield' = 'username',

'username' = 'ybb',

'password' = '123456',

'file' = '@d:usrwwwtranslatedocumentReadme.txt'

);

curl_setopt($ch, CURLOPT_HEADER, false);

//启用时会发送一个常规的POST请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样。

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch,CURLOPT_BINARYTRANSFER,true);

curl_setopt($ch, CURLOPT_POSTFIELDS,$post_data);

curl_setopt($ch, CURLOPT_URL, '');

$info= curl_exec($ch);

curl_close($ch);

print_r($info);

}

2.

function handleUpload(){

print_r($_POST);

echo '===file upload info:';

print_r($_FILES);

}

■cURL 函数

■curl_close — 关闭一个cURL会话

■curl_copy_handle — 复制一个cURL句柄和它的所有选项

■curl_errno — 返回最后一次的错误号

■curl_error — 返回一个保护当前会话最近一次错误的字符串

■curl_exec — 执行一个cURL会话

■curl_getinfo — 获取一个cURL连接资源句柄的信息

■curl_init — 初始化一个cURL会话

■curl_multi_add_handle — 向curl批处理会话中添加单独的curl句柄

■curl_multi_close — 关闭一组cURL句柄

■curl_multi_exec — 运行当前 cURL 句柄的子连接

■curl_multi_getcontent — 如果设置了CURLOPT_RETURNTRANSFER,则返回获取的输出的文本流

■curl_multi_info_read — 获取当前解析的cURL的相关传输信息

■curl_multi_init — 返回一个新cURL批处理句柄

■curl_multi_remove_handle — 移除curl批处理句柄资源中的某个句柄资源

■curl_multi_select — 等待所有cURL批处理中的活动连接

■curl_setopt_array — 为cURL传输会话批量设置选项

■curl_setopt — 设置一个cURL传输选项

■curl_version — 获取cURL版本信息

php通过post传输的json数据能采集吗

不能。所谓的json数据格式是http请求中的body是一个json格式的字符串,这个用$_POST就获取不到了。PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的WEB站点。

php 接收到之后post数据写入数据库

form表单demo:task.html

fieldset id="setFiled"

legend发布任务/legend

form action="registr.php" method="post" id="steForm"

label任务类型:/labelbr

input type="text" name="type"  id="taskType" placeholder="请选择任务类型"/br

label酬nbsp;nbsp;金:/labelbr

input type="number" name="money" id="forMoney" min="1" max="1000"/label元/labelbr

label截止时间:/labelbr

input type="datetime" name="time" id="timeSubmit"/span data-year="" data-month="" data-date="" id="showDate"/spanbr

label详细描述:/labelbr

textarea maxlength="512" name="textAray" id="msgArea"/textareabr

input type="submit" name="subMit" id="forSub" value="点击发布" /

/form

扩展资料

php接收POST数据的三种方式

1、$_POST 方式接受数据

$_POST 方式是由通过HTTP的POST方法传递过来的数据组成的数组,是一个自动全局变量。

注:只能接收Content-Type:application/x-www-form-urlencode提交的数据。也就是只能接收表单过来的数据。

2、GLOBLES[‘HTTP_RAW_POST_DATA’]

如果访问原始POST数据不是php能够识别的文档类型,比如:text/xml 或者soap等等,可以用$GLOBLES[‘HTTP_RAW_POST_DATA’]来接收,$HTTP_RAW_POST_DATA变量包含有原始POST数据。此变量仅在碰到未识别的MIME数据时产生。

注:$HTTP_RAW_POST_DATA对于enctype=”multipart/form-data”表单数据不可用,也就是说使用$HTTP_RAW_POST_DATA无法接受网页表单post过来的数据。

3、file_get_contents(“php://input”);

如果访问原始POST数据,更好的方法是使用file_get_content(“php://input”);对于未指定Content-Type的POST数据,可以使用该方法读取POST原始数据,包括二进制流也可以和$HTTP_RAW_POST_DATA比起来。它带来的生存眼里更小,并且不需要任何特殊的php.ini设置。

注:php://input不能用于 enctype=”multipart/form-data”

例如:$postStr = file_get_contents("php://input"); //获取POST数据


文章名称:php根据post的数据 php post用法
文章分享:http://cqcxhl.com/article/dojighe.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP