php提交数据类型,php获取数据类型

PHP的基本数据类型有哪些?

PHP主要有八种基本数据类型,其中包括:

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

1.四种变量类型

整数型(integer)

浮点数型(float)

布尔型(boolean)

字符串(string)

2.两种复合类型

数组(array)

对象(object)

3.两种特殊类型

NULL

资源 (resource)

简述php可支持哪些数据类型,有哪些运算符

php有8种数据类型:

四种标量类型:

boolean (布尔型)

integer (整型)

float (浮点型, 也称作 double)

string (字符串)

两种复合类型:

array (数组)

object (对象)

最后是两种特殊类型:

resource (资源)

NULL (NULL)

运算符有:加减乘除,取模

php://input 和 php://output

$data = file_get_contents("php://input");

php://input 是个可以访问请求的原始数据的只读流。 POST 请求的情况下,最好使用 php://input 来代替 $HTTP_RAW_POST_DATA,因为它不依赖于特定的 php.ini 指令。 而且,这样的情况下 $HTTP_RAW_POST_DATA 默认没有填充, 比激活 always_populate_raw_post_data 潜在需要更少的内存。 enctype="multipart/form-data" 的时候 php://input 是无效的。

1, php://input 可以读取http entity body中指定长度的值,由Content-Length指定长度,不管是POST方式或者GET方法提交过来的数据。但是,一般GET方法提交数据 时,http request entity body部分都为空。

2,php://input 与$HTTP_RAW_POST_DATA读取的数据是一样的,都只读取Content-Type不为multipart/form-data的数据。

3,Coentent-Type仅在取值为application/x-www-data-urlencoded和multipart/form-data两种情况下,PHP才会将http请求数据包中相应的数据填入全局变量$_POST

4,PHP不能识别的Content-Type类型的时候,会将http请求包中相应的数据填入变量$HTTP_RAW_POST_DATA

5, 只有Coentent-Type为multipart/form-data的时候,PHP不会将http请求数据包中的相应数据填入php://input,否则其它情况都会。填入的长度,由Coentent-Length指定。

6,只有Content-Type为application/x-www-data-urlencoded时,php://input数据才跟$_POST数据相一致。

7,php://input数据总是跟$HTTP_RAW_POST_DATA相同,但是php://input比$HTTP_RAW_POST_DATA更凑效,且不需要特殊设置php.ini

8,PHP会将PATH字段的query_path部分,填入全局变量$_GET。通常情况下,GET方法提交的http请求,body为空。

PHP语言有哪些主要数据类型?

PHP 支持8种基本的数据类型。

一:四种标量类型:

1、boolean (布尔型)

2、integer (整型)

3、float (浮点型, 也称作 double)

4、string (字符串)

二:两种复合类型:

1、array (数组)

2、object (对象)

三:两种特殊类型:

1、resource (资源)

2、NULL (NULL)

PHP,是英文超文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。

PHP中有几种主要的数据类型,通俗的解释一下他们

数据类型有三种:

1.标量数据类型

标量数据类型包括以下几种。

(1)boolean:布尔型

布尔变量是PHP变量中最简单的。它保存一个True或者False值。其中True或者False是PHP的内部关键字。设定一个布尔型的变量,只需将True或者False赋值给该变量

(2)string:字符串

字符串是连续的字符序列,字符串中的每个字符只占用一个字节。在PHP中,定义字符串有3种方式:

单引号方式,

双引号方式,

Heredoc方式。

(3)integer:整数

整数数据类型只能包含整数。这些数据类型可以是正数或负数。在32位的操作系统中,有效的范围是−2 147 483 648~+2 147 483 647。

(4)double:浮点数

浮点数据类型可以用来存储数字,也可以保存小数。它提供的精度不整数大得多。在32位的操作系统中,有效的范围是1.7E-308~1.7E+308。

2.复合数据类型

复合数据类型包括以下两种。

(1)array:数组

可以是二维、三维或者多维,数组中的各元素可以是string、integer或double,也可以是array。

(2)object:对象类型

3.特殊数据类型

特殊数据类型包括以下两种。

(1)resource:资源

资源是PHP内的几个函数所需要的特殊数据类型,由编程人员来分配。

(2)null:空值

空值是最简单的数据类型。表示没有为该变量设置任何值,另外,空值(NULL)不区分大小写。

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提交数据类型,php获取数据类型
文章地址:http://scyanting.com/article/dsggged.html