PHP部分函数讲解--持续更新中

本文详细介绍了PHP中常用的字符串处理函数、文件系统操作函数、日期时间处理函数及执行系统命令的相关函数。并解释了如何安全地处理用户输入,避免潜在的安全风险。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • addslashes()函数的参数是字符串,作用是在参数字符串中的某些字符(单引号、双引号、反斜线、NULL字符)前添加反斜线。
  • stripslashes()函数的参数是字符串,作用是去除参数字符串中的所有反斜线,即使是 \ 也会将这两个反斜线都去掉。
  • scandir()函数作用是打开指定目录,将其中的文件名和子目录名返回到一个数组中。默认按字母排序升序排列,如果将第二个参数设置为1就是按降序排列。
  • dirname($path)函数和basepath($path)函数分别返回路径的目录部分和路径的文件名称部分。
  • mkdir($path,’0777’)函数创建一个目录,并且赋予相应的权限,在Linux系统中umask设置了用户新建文件的权限的“补码”,所以这个0777减去umask值后才是真正的目录权限。可以如下操作来避免这样:
    $oldmask = umask(0);
    mkdir($path,'0777');
    umask($oldmask);
    umask()函数会将umask设置为传入的值,并返回原来的umask。也可以不带有参数只是返回原来的umask值。这个函数对Windows系统是不起作用的。
  • rmdir($path)函数删除指定目录,要删除的目录必须是空目录。
  • posix_getpwuid($user)函数根据用户id获取用户相关信息,posix_getgrgid($group)函数根据用户组id获取用户组相关信息。fileowner($file)函数返回文件所有者用户id,filegroup(\$file)返回文件所属组的id。一般后两个函数作为前两个函数的参数。
  • fileperms($file)函数获取文件的权限。
  • is_link($file)函数判断给定文件是否是一个符号连接。
  • PHP进制转换函数:
    bindec() — 二进制转换为十进制
    decbin() — 十进制转换为二进制
    dechex() — 十进制转换为十六进制
    decoct() — 十进制转换为八进制
    hexdec() — 十六进制转换为十进制
    octdec() — 八进制转换为十进制
    base_convert()– 在任意进制之间转换数字
    base_convert($number,$frombase,$tobase);
  • 执行系统命令的函数:
    exec()函数返回命令结果的最后一行
    passthru()函数会将命令结果回显到浏览器,没有返回值
    system()函数也是将命令结果回显到浏览器,返回输出的最后一行或者false,但是它将把每一行的输出向后对齐。
    反引号 没有直接输出,是将这个命令的结果以字符串的形式返回。
  • escapeshellcmd()函数会将用户输入的参数命令中的可能欺骗shell执行任意命令的字符进行转义,此函数一般作为执行系统命令的函数的参数。
  • escapeshellarg()函数将给字符串增加一个单引号并且能引用或者转码任何已经存在的单引号,这样以确保能够直接将一个字符串传入 shell 函数,并且还是确保安全的。对于用户输入的部分参数就应该使用这个函数。shell 函数包含 exec(), system()和执行运算符 。
  • filemtime()函数获取本地文件的最后的修改时间,ftp_mdtm()函数获取远程文件的最后修改时间,在未来filemtime()函数可能也能获取远程脚本的最后修改时间。
  • set_time_limit()函数可以设置本脚本的最大执行时间,单位是秒。计时是从调用此函数的时候开始。
  • PHP中数值只有0才相当于false,正数和负数都相当于true。
  • Windows系统中时间戳必须是正数。
  • mktime(时,分,秒,月,日,年)函数将一个日期和时间转换成UNIX时间戳。可以从参数的右边省去参数的值,如果参数为空则默认为当前日期或时间。
  • time()函数获取当前日期和时间的UNIX时间戳,没有参数,相当于mktime()和date(“U”)。
  • getdate($timestamp)函数返回一个关联数组,包含日期和时间的各个部分。
  • checkdate(月,日,年)函数检查日期有效性。
  • date()函数的格式化参数选项请参照http://php.net/manual/zh/function.date.php
  • strftime()函数格式化时间戳,其格式化选项请参照http://php.net/manual/zh/function.strftime.php
  • MySQL中的日期时间格式是年-月-日 时:分:秒,所以在向MySQL存入日期时间数据时要先格式化一下。
  • microtime()函数可以返回带小数部分的时间戳,如果没带参数就和time()等函数一样,如果是microtime(true)那么就能获取带小数部分的时间戳,精度更高了。
  • number_format函数请参照http://php.net/manual/zh/function.number-format.php
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值