常量 | |||||||||||||||||
__FILE__ | 当前代码所在文件(而不是url所在文件)完整路径。详情。 | ||||||||||||||||
FILESYSTEM函数:允许访问和操作文件系统 | |||||||||||||||||
readfile(文件名[,include_path[,context]]) | 读入一个文件并写入到输出缓冲。如果想在include_path中搜索文件,可以使用include_path参数并将其设为true。错哦ntext规定文件句柄的环境,context是可以修改流的行为的一套选项。打开一个文件并读取其内容。 | ||||||||||||||||
fopen(文件名,mode[,include_path[,context]]) | 打开文件。mode规定要求到该文件/流的访问类型:
| ||||||||||||||||
is_writable(file) | 在写入文件前,需要使用该函数判断文件是否可写。如果文件存在且可写则返回true。受clearstatcache()函数影响。 | ||||||||||||||||
fwrite(file,string[,length]) | 写入文件(可安全用于二进制文件)。把string的内容写入文件指针file处,当写入了length个字节或者写完了string以后,写入就会停止。返回写入的字符数,出现错误时返回false。 | ||||||||||||||||
file_put_contents(file,[,data[,moda[,context]]]) | 把一个字符串写入文件中,与依次调用fopen(),fwrite(),fclose()功能一样。data可以是数组(但不能是多维数组)。如果文件存在,则创建一个新文件。mode的可能值:FILE_USE_INCLUDE_PATH、FILE_APPEND、LOCK_EX。默认是从头写入,加FILE_APPEND为追加写入,在追加写入时,为了避免其他人同时操作,往往需要锁定文件,这时需要加多一个LOCK_EX的声明,如:echo file_put_contents('test.txt',"This is Test!",FILE_APPEND|LOCK_EX);//echo输出到显示器里的是写入文件字符串的长度。 | ||||||||||||||||
fclose(file) | file是一个文件指针,函数关闭该指针指向的文件。例:fclose("test.txt");文件指针必须有效,并且是通过fopen()或fsockopen()成功打开的。 | ||||||||||||||||
fgets(file[,length]) | 从文件指针中读取一行。从file值指向的文件中读取一行并返回长度最多为length-1字节的字符串。碰到换行符(包括在返回值中)、EOF或者已经读取了length-1字节后停止(要看先碰到哪一种情况)。调用该函数后,文件指针会移动到下一行。 | ||||||||||||||||
fgetc(file) | 从文件指针中读取一个字符。在调用该函数之后,文件指针会移动到下一个字符。 | ||||||||||||||||
feof(file) | 检测是否已到达文件末尾(EOF)。如果文件指针到了EOF或者出错时则返回TRUE,否则返回一个错误(包括socket超时),其它情况则返回FALSE。 如果服务器没有关闭由fsockopen()所打开的连接,feof()会一直等待直到超时而返回TRUE,默认的超时限制是60秒,可以使用stream_set_timeout()来改变这个值。 如果传递的文件指针无效可能会陷入无限循环中,因为EOF不会返回TRUE。 | ||||||||||||||||
clearstatcache() | 清除文件状态缓存。某些函数的返回信息会被缓存以便提高更高的性能,但是有时候比如在一个脚本中多次检查同一个文件,而该文件在此脚本执行期间有被删除或修改的危险时,需要清除文件状态缓存,以便获得正确的结果。要做到这点,就需要使用clearstatcache()。 | ||||||||||||||||
move_uploaded_file(file,newloc) | file规定要移动的文件,newloc规定文件的新位置。本函数检查并确保由file指定的文件是合法的上传文件(即通过PHP的HTTP POST上传机制所上传的)。如果文件合法,则将其移动为由newloc指定的文件;如果file不是合法的上传文件,不会出现任何操作,move_uploaded_file()将返回false;如果file是合法的上传文件,但出于某些原因无法移动,不会出现任何操作,move_upload_file()将返回false,此外还会发出一条警告。本函数仅用于通过HTTP POST上传的文件。 通过使用PHP的全局数组$_FILES,可以从客户计算机想远程服务器上传文件。 第一个参数是表单的input name(假设此时的文件上传控件id为file),第二个下标可以是name、type、size、tmp_name、error。如下:
| ||||||||||||||||
dirname(path) | 返回目录的路径部分(不包含文件名称) | ||||||||||||||||
basename(path[,文件扩展名]) | 返回目录的文件名部分,设置文件扩展名参数后,返回将不带扩展名。 | ||||||||||||||||
Directory函数:允许获取关于目录及其内容的信息。 | |||||||||||||||||
getcwd() | 返回当前运行脚本的工作目录。 | ||||||||||||||||
getcwd()和dirname(__FILE__)的区别: | |||||||||||||||||
getcwd() | 获取的是当前运行脚本的目录,不管getcwd()是在被包含的文件里面还是在当前执行脚本文件里面,运行的结果不会发生变化。 | ||||||||||||||||
dirname(__FILE__) | __FILE__获取的是文件名称,如果用在被包含文件中,则返回被包含的文件名,如果直接用在当前运行脚本内,则返回运行脚本的文件名称。 | ||||||||||||||||
$_SERVER["PHP_SELF"] | 一种超全局变量。返回当前执行脚本的文件名。 | ||||||||||||||||
htmlspacialchars(var) | 把特定字符转换为HTML实体。可防止攻击者通过在表单中注入HTML或JavaScript代码(跨站点脚本攻击)对代码进行利用。 | ||||||||||||||||
应用:$_SERVER["PHP_SELF"]变量能够被黑客利用。如果你的页面使用了PHP_SELF,用户能够输入下划线然后执行跨站点脚本(XSS)。 提示:跨站点脚本(Cross-site scripting,XSS)是一种计算机安全漏洞类型,常见于web应用程序。XSS能够使攻击者向其他用户浏览的网页中输入客户端脚本。 例:test.php页面中有表单:
如果地址栏中是正常URL:hhtp://www.example.com/test.php,上面代码会转换为:
一旦输入:http://www.example.com/test.php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E,上面代码会转换成:
使用htmlspecialchars()函数避免上述情况,表单代码:
这时输入http://www.example.com/test.php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E,上面代码会转换成: 无法利用,没有伤害。 | |||||||||||||||||
trim(var) | 取出多余的空格、制表符、换行 | ||||||||||||||||
stripslashes(var) | 删除反斜杠(\) | ||||||||||||||||
$_SERVER["REQUEST_METHOD"] | |||||||||||||||||
empty(var) | 判断变量是否已经赋予数据且不为空。‘’、null、false、00、0、'0'、未定义、array()、var $var都返回true。 | ||||||||||||||||
isset(var[,var[,...]]) | 检测变量是否已经声明。未定义变量返回true。unset一个变量后,变量被取消了。 | ||||||||||||||||
is_null(var) | 检查值、变量、表达式是否为null。未定义变量传入也会返回true,但是会报错! | ||||||||||||||||
defined(var) | 检测常量是否已经声明。 | ||||||||||||||||
1、empty、isset首先都会检查变量是否存在,然后对变量值进行检测。而is_null只是直接检查变量值,是否为null。 2、empty、isset输入参数必须是一个变量,而is_null输入参数只要是能够有返回值就可以(常量,变量,表达式等)。在php手册里,对于他们解析是:empty,isset是一个语言结构而非函数,因此它无法被变量函数调用。 | |||||||||||||||||
preg_match(正则表达式,变量) | 检索字符串的模式,如果模式存在则返回true,否则返回false。 | ||||||||||||||||
时间函数 | |||||||||||||||||
date(格式[,时间戳]) | Y:年(4位数);y:年(2位数);M:月(英文简称);m:月(2位数);d:日(2位数);D:星期(英文简称);l:星期;H:带有首位零的24小时小时格式;h:带有首位零的12小时小时格式;i:带有首位零的分钟;s:带有首位零的秒(00-59);A:大写的午前和午后(AM或PM);a:小写的午前和午后(am或pm) | ||||||||||||||||
date_default_timezone_set(时区) | 设置时区。例:date_default_timezone_set("Asia/Shanghai"); | ||||||||||||||||
mktime(时,分,秒,月,日,年) | 返回日期的Unix时间戳。 | ||||||||||||||||
strtotime(日期或时间字符串[,时间戳]) | 将任何字符串的日期时间描述解析为Unix时间戳。例:strtotime("10:38pm April 15 2015");strtotime("next Saturday");strtotime("tomorrow");strtotime("+3 Months");strtotime("December 31"); | ||||||||||||||||
time() | 返回当前时间的时间戳 | ||||||||||||||||
杂项函数 | |||||||||||||||||
die(status) | 输出一条信息,并退出当前脚本。该函数时exit()函数的别名。参数规定在退出脚本之前写入的信息或状态号,状态号不会被写入输出。status为字符串即在退出前输出字符串,为整数即被用作退出状态。退出状态的值在0至254之间,255由php保留,不会被使用,0用于成功地终止程序。 | ||||||||||||||||
php常量及函数-学习笔记
最新推荐文章于 2022-03-23 20:26:19 发布