PHP 全局变量 - 超全局变量
PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。
这些超全局变量是:
- $GLOBALS
- $_SERVER
- $_REQUEST
- $_POST
- $_GET
- $_FILES
- $_ENV
- $_COOKIE
- $_SESSION
trim() 函数移除字符串两侧的空白字符或其他预定义字符。
$_FILES全局变量 - 超全局变量
当客户端提交后,我们获得了一个$_FILES 数组
$_FILES数组内容如下:
$_FILES['myFile']['name'] 客户端文件的原名称。
$_FILES['myFile']['type'] 文件的 MIME 类型,需要浏览器提供该信息的支持,例如"image/gif"。
$_FILES['myFile']['size'] 已上传文件的大小,单位为字节。
$_FILES['myFile']['tmp_name'] 文件被上传后在服务端储存的临时文件名,一般是系统默认。可以在php.ini的upload_tmp_dir 指定,但 用 putenv() 函数设置是不起作用的。
$_FILES['myFile']['error'] 和该文件上传相关的错误代码。['error'] 是在 PHP 4.2.0 版本中增加的。下面是它的说明:(它们在PHP3.0以后成了常量)
UPLOAD_ERR_OK
值:0; 没有错误发生,文件上传成功。
UPLOAD_ERR_INI_SIZE
值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
UPLOAD_ERR_FORM_SIZE
值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
UPLOAD_ERR_PARTIAL
值:3; 文件只有部分被上传。
UPLOAD_ERR_NO_FILE
值:4; 没有文件被上传。
值:5; 上传文件大小为0.
文件被上传结束后,默认地被存储在了临时目录中,这时您必须将它从临时目录中删除或移动到其它地方,如果没有,则会被删除。也就是不管是否上传成功,脚本执行完后临时目录里的文件肯定会被删除。所以在删除之前要用PHP的 copy() 函数将它复制到其它位置,此时,才算完成了上传文件过程。
is_uploaded_file—判断文件是否是通过 HTTP POST 上传的
bool is_uploaded_file ( string$filename
)
如果 filename
所给出的文件是通过 HTTP POST 上传的则返回TRUE
。这可以用来确保恶意的用户无法欺骗脚本去访问本不能访问的文件,例如/etc/passwd。
这种检查显得格外重要,如果上传的文件有可能会造成对用户或本系统的其他用户显示其内容的话。
为了能使 is_uploaded_file() 函数正常工作,必段指定类似于$_FILES['userfile']['tmp_name'] 的变量,而在从客户端上传的文件名$_FILES['userfile']['name'] 不能正常运作。
exit()
exit() 函数输出一条消息,并退出当前脚本。
该函数是 die() 函数的别名。
PHP die() 函数
die() 函数输出一条消息,并退出当前脚本。
该函数是 exit() 函数的别名。
语法
die(status)
参数 | 描述 |
---|---|
status | 必需。规定在退出脚本之前写入的消息或状态号。状态号不会被写入输出。 |
说明
如果 status 是字符串,则该函数会在退出前输出字符串。
如果 status 是整数,这个值会被用作退出状态。退出状态的值在 0 至 254 之间。退出状态 255 由 PHP 保留,不会被使用。状态 0 用于成功地终止程序。
excel 93-2003后缀为 .xls 的 文件格式是 application/vnd.ms-excel
excel2007格式后缀是 .xlsx 的文件格式是 application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
php上传文件,可以通过内置的系统函数 $_FILES 获取文件的信息。
$_FILES数组内容如下: (其中upfile为获取的表单名称)
$_FILES['upfile']['name'] 客户端文件的原名称。
$_FILES['upfile']['type'] 文件的 MIME 类型,需要浏览器提供该信息的支持,例如"image/gif"。
$_FILES['upfile']['size'] 已上传文件的大小,单位为字节。
$_FILES['upfile']['tmp_name'] 文件被上传后在服务端储存的临时文件名
php中insert into始终无法插入数据
有错误信息吗?有了放出来看看。
$sql="INSERT INTO moneytb (riqi,item,inout,cost,bz) VALUES ('$riqi','$item','$inout','$cost','$bz')";
这样写,然后在这句后面跟上echo $sql;
把sql语句打印出来看看是什么。
你也可以在mysql_query($sql)这句后面加一句or die(mysql_error());
看看报错不………………
sql语句打印出来看看是什么。
你也可以在mysql_query($sql)这句后面加一句or die(mysql_error());
看看报错不………………
mysql_fetch_array() 函数
定义和用法
mysql_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有
返回根据从结果集取得的行生成的数组,如果没有更多行则返回 false。
语法
data | 可选。规定要使用的数据指针。该数据指针是 mysql_query() 函数产生的结果。 |
array_type | 可选。规定返回哪种结果。可能的值:
|
“关联数组”是一种具有特殊索引方式的数组。不仅可以通过整数来索引它,还可以使用字符串或者其他类型的值(除了NULL)来索引它。
PHP count() 函数
返回数组中元素的数目:
count(array,mode);
参数 | 描述 |
---|---|
array | 必需。规定数组。 |
mode | 可选。规定模式。可能的值:
|
说明
count() 函数计算数组中的单元数目或对象中的属性个数。
对于数组,返回其元素的个数,对于其他值,返回 1。如果参数是变量而变量没有定义,则返回 0。
如果 mode 被设置为 COUNT_RECURSIVE(或 1),则会递归底计算多维数组中的数组的元素个数。
PHP array_push() 函数
定义和用法
array_push() 函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度。
该函数等于多次调用 $array[] = $value。
提示和注释
注释:即使数组中有字符串键名,您添加的元素也始终是数字键。(参见例子 2)
注释:如果用 array_push() 来给数组增加一个单元,还不如用 $array[] =,因为这样没有调用函数的额外负担。
注释:如果第一个参数不是数组,array_push() 将发出一条警告。这和 $var[] 的行为不同,后者会新建一个数组。
语法
array_push(array,value1,value2...)
参数 | 描述 |
---|---|
array | 必需。规定数组。 |
value1 | 必需。规定要添加的值。 |
value2 | 可选。规定要添加的值。 |
PHP的isset()函数 一般用来检测变量是否设置
格式:bool isset ( mixed var [, mixed var [, ...]] )
功能:检测变量是否设置
返回值:
若变量不存在则返回 FALSE
若变量存在且其值为NULL,也返回 FALSE
若变量存在且值不为NULL,则返回 TURE
同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE
版本:PHP 3, PHP 4, PHP 5
更多说明:
使用 unset() 释放变量之后,它将不再是 isset()。
PHP函数isset()只能用于变量,传递任何其它参数都将造成解析错误。
检测常量是否已设置可使用 defined() 函数。
PHP的empty()函数 判断值为否为空
格式:bool empty ( mixed var )
功能:检查一个变量是否为空
返回值:
若变量不存在则返回 TRUE
若变量存在且其值为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 TURE
若变量存在且值不为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 FALSE
版本:PHP 3, PHP 4, PHP 5
更多说明:
empty()的返回值=!(boolean) var,但不会因为变量未定义而产生警告信息。参见转换为布尔值获取更多信息。
empty() 只能用于变量,传递任何其它参数都将造成Paser error而终止运行。
检测常量是否已设置可使用 defined() 函数。
unset
unset -- 释放给定的变量
unset() 销毁指定的变量。注意在 PHP 3 中,unset() 将返回TRUE(实际上是整型值 1),而在 PHP 4 中,unset() 不再是一个真正的函数:它现在是一个语句。这样就没有了返回值,试图获取unset() 的返回值将导致解析错误。
例子 1. unset() 示例
|
unset() 在函数中的行为会依赖于想要销毁的变量的类型而有所不同。
如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用unset() 之前一样的值。
<?php |
上边的例子将输出:
|
如果在函数中 unset() 一个通过引用传递的变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用unset() 之前一样的值。
<?php |
上边的例子将输出:
|
如果在函数中 unset() 一个静态变量,则 unset() 将销毁此变量及其所有的引用。
<?php |
上边的例子将输出:
|
如果您想在函数中 unset() 一个全局变量,可使用 $GLOBALS 数组来实现:
<?php |
注: 由于这是一个语言结构而非函数,因此它无法被变量函数调用。
PHP中var_dump是什么意思
var_dump() 能打印出类型
print_r() 只能打出值
echo() 是正常输出...
需要精确调试的时候用 var_dump();
一般查看的时候用 print_r()
另外 , echo不能显示数组 其余2个可以...
() 能打印出类型
print_r() 只能打出值
echo() 是正常输出...
需要精确调试的时候用 var_dump();
一般查看的时候用 print_r()
另外 , echo不能显示数组 其余2个可以...
PHP mysql_num_rows() 函数
定义和用法
mysql_num_rows() 函数返回结果集中行的数目。
语法
mysql_num_rows(data)
参数 | 描述 |
---|---|
data | 必需。结果集。该结果集从 mysql_query() 的调用中得到。 |
说明
mysql_num_rows() 返回结果集中行的数目。此命令仅对 SELECT 语句有效。要取得被 INSERT,UPDATE 或者 DELETE 查询所影响到的行的数目,用mysql_affected_rows()。
提示和注释
注释:如果使用 mysql_unbuffered_query(),则直到结果集中的所有行都被提取后 mysql_num_rows() 才能返回正确的值。
php intval()函数
定义和用法:
获取变量的整数值,允许以使用特定的进制返回。默认10进制
注:如果参数为整数,则不做任何处理。
语法:
intval (var, base)
参数列表:
参数 | 描述 |
---|---|
var | 必须。可以是任何标量类型。 intval() 不能用于数组 或 对象(类)。在此我得提一下标量类型包含四种:boolean(布尔型)integer(整型) float(浮点型, 也称作 double) string (字符串) |
base | 可选。转化所使用的进制,默认10进制如果 base 是 0,通过检测 var 参数的格式来决定使用的进制:如果字符串包括了 “0x” (或 “0X”) 的前缀,使用 16 进制如果字符串以 “0” 开始,使用 8 进制其他使用 10 进制 |
for example:
echo intval("0x1a", 0), "\n"; // 使用16进制。 结果 "26"
echo intval("057", 0), "\n"; // 使用8进制。 结果 "47"
echo intval("57"),"\n"; // 使用10进制。结果57
echo intval("42", 0), "\n"; // 结果 "42"
PHP ceil() 函数
定义和用法
ceil() 函数向上舍入为最接近的整数。
语法
ceil(x)
参数 | 描述 |
---|---|
x | 必需。一个数。 |
说明
返回不小于 x 的下一个整数,x 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
require_once
(PHP 4, PHP 5)
require_once()语句在脚本执行期间包含并运行指定文件(通俗一点,括号内的文件会执行一遍)。此行为和require()语句类似,唯一区别是如果该文件中的代码已经被包含了,则不会再次包含。有关此语句怎样工作参见require()的文档。
PHP trim() 函数
实例
移除字符串两侧的字符("Hello" 中的 "He" 以及 "World" 中的 "d!"):
<?php
$str = "Hello World!";
echo $str . "<br>";
echo trim($str,"Hed!");
?>
定义和用法
trim() 函数移除字符串两侧的空白字符或其他预定义字符。
相关函数:
语法
trim(string,charlist)
参数 | 描述 |
---|---|
string | 必需。规定要检查的字符串。 |
charlist | 可选。规定从字符串中删除哪些字符。如果被省略,则移除以下所有字符:
|
PHP stripslashes() 函数
实例
删除反斜杠:
<?php
echo stripslashes("Who\'s Bill Gates?");
?>
定义和用法
stripslashes() 函数删除由 addslashes() 函数添加的反斜杠。
提示:该函数可用于清理从数据库中或者从 HTML 表单中取回的数据。
语法
stripslashes(string)
参数 | 描述 |
---|---|
string | 必需。规定要检查的字符串。 |
date_default_timezone_set
设定用于一个脚本中所有日期时间函数的默认时区
bool date_default_timezone_set ( string $timezone_identifier
)
说明 ¶
bool date_default_timezone_set ( string $timezone_identifier
)
date_default_timezone_set() 设定用于所有日期时间函数的默认时区。
Note:
自 PHP 5.1.0 起(此版本日期时间函数被重写了),如果时区不合法则每个对日期时间函数的调用都会产生一条
E_NOTICE
级别的错误信息,如果使用系统设定或 TZ 环境变量则还会产生E_STRICT
级别的信息。
除了用此函数,你还可以通过 INI 设置 date.timezone 来设置默认时区。
参数 ¶
timezone_identifier
时区标识符,例如 UTC 或 Europe/Lisbon。合法标识符列表见所支持的时区列表。
返回值 ¶
如果 timezone_identifier
参数无效则返回 FALSE
,否则返回 TRUE
。