PHP必备函数

  • htmlspecialchars() 和 htmlentites()
1. 将特殊字符转换成html实体 (如'
'输出一个div,而htmlspeicalchars('
')会转换成html实体“
”再输出) 2. 将字符串转换成html转义字符 (如'<‘输出为<,而htmlentities('<') 原样输出'<') 如果需要反向操作,则使用html_entity_decode()
  • fileinfo是php的一个扩展,php5.3之前需要在php.ini开启php_fileinfo.dll开启,5.3之后默认开启
  • 数组方法
1. array_keys()
    获取数组的键值
2. array_values()
    获取数组的所有值
3. array_merge()
    合并两个或多个数组    
4. array_combine($arr1, $arr2)
    将数组1作为key,数组2作为value
5. array_reverse()
    颠倒数组
6. array_push()
    末尾追加
7. array_pop()
    弹出末尾
8. array_unshift()
    头部追加
9.  array_shift()
    头部移除
10. array_slice($arr, $start, $len)
    取出部分,不改变原数组
11. array_splice(&$arr, $start, $len. $replace)
     移除部分,用replace取代
12. array_chunk($arr, $split_len)
      数组分割
13. array_map($arr, user_func)
      遍历数组,自定义回调
14. array_filter($arr, user_func)
      自定义回调筛选
15. each()
      遍历数组,会移动数组指针
16. array_search()
      数组查找
17. array_pad($arr, $len, $pad)
      数组填充
18. array_rand()
      随机子集
19. sort()、asort()、ksort()、usort()、rsort()、arsort()、krsort()
      数组排序
20. list($a, $b) = ['a', 'b']
      数据赋值
  • 字符串方法
1. htmlspecialchars
    特殊字符转换成html实体
2. htmlentites
    将字符串转换成html转义字符
3. addslashes
    将字符转中的单引号、双引号、反斜线\转义
    (addcslashes(str, chars)可以对选定的字符进行转义)
4. strip_tags
    去掉字符串中的html和php标签
5. strtolower
    字符串小写
6. strtoupper
    字符串大写
7. trim
    去除两端空格,\t \r \n
8. str_split($str, $len)
    将字符串分割成$len长度的几个字符串
9. strstr($str, $find)
    找到字符串$find第一次出现的位置,输出这个位置右边的子字符串
10. strlen($str)
    获取字符串的长度(英文)
11. mb_strlen($str, $encoding)
    获取字符串长度根据编码
12. strpos($str, $find)
    获取$find第一次出现的位置,找到返回位置下标,找不到返回false
    stripos--忽略大小写
        凡是加了‘i’的都是忽略大小写的版本
        凡是加了‘r’的都是从右往左的版本
13. substr($str, $start, $len)
    获取子字符串, $len省略为到结尾,为负数代表从后往前数
14. str_pad($str, $len, $pad, $type)
    填补字符串到指定长度 $type为STR_PAD_LEFT或者STR_PAD_BOTH或者STR_PAD_RIGHT
15. strcmp($str1, $str2)
    字符串比较,大小写敏感
    strcasecmp大小写不敏感
16. str_shuffle
    随机打乱字符串
17. str_replace($pattern, $replace, $ori_str, $count)
    $pattern和$replace可以为数组
18. str_repeat($str, $times)
    字符串重复
19. explode($split, $str) | implode($split, $arr)
    字符串=》数组
    数组=》字符串
20. md5($str), crypt($str)
    字符串加密
21. strrev($str)
    反转字符串
  • 时间函数
1. date(format, [timestamp])
        Format:
        Y:四位年份
        y:两位年份
        m:两位月份
        n:没有前导0,月份
        M:3位英文月份
        d:两位天数,每月的第几天
        j:没有前导0,每月的第几天,
        D:星期几,3位英文
        N:星期几,1-7
        t:每个月总的天数
        H:两位小时,24小时制
        h:两位小时,12小时制
        G:没有前导0的小时,24小时制
        g:没有前导0的小时,12小时制
2. strtotime()
    * strtotime('now')
    * strtotime('next Monday')
    * strtotime('+1 day')
    * strtotime('+1 week')
    * strtotime('+1 week +2 days +3 hours +4 minutes +5 seconds')
3. time()
    时间戳
4. date_default_timezone_set('PRC')
    设置默认时区
  • Mysql数据库
1. mysqli_connect('host', 'username', 'password', 'dbname')
    mysqli数据库连接
2. mysqli_connect_errno()
    mysqli连接失败代码
3. mysqli_connect_error()
4. mysqli_query()
    成功返回True,失败返回False
5. mysqli_num_rows()
    $result = $mysqli->query($sql);
    $rows = $result->num_rows();
    // or
    $result = mysqli_query($sql);
    $nums = mysqli_num_rows($result);
6. mysqli_fetch_array()
    获取结果集,包含0,1,2..数字和数组-列名两种
    mysqli_fetch_assoc()
    获取结果集,使用数组-列名获取 $row['id']
    mysqli_fetch_row()
    获取结果集,使用0,1,2..  $row[0], $row[1]
    mysqli_fetch_object()
    获取结果集,使用对象方式,$row->id
7. mysqli_autocommit($conn, False|True)
    自动提交,事务相关
    mysqli_commit()
    提交事务,需要mysqli_autocommit(false)
    mysqli_rollback()
8. mysqli_affected_rows()
    $mysqli->affected_rows
    影响的行数
9. mysqli_select_db()
    切换数据库
10. statement
    ```
    if ($stmt = $mysqli->prepare('insert into tb(name, age, address) values (?, ?, ?)')) {
        $stmt->bindParam("sds", $name, $age, $address);
        $name = '小徒徒';
        $age = 23;
        $adderss = '哈尔滨';
        $stmt->execute();
        printf("%d rows affected", $stmt->affected_rows);
        $stmt->close();
    }
    if($stmt2 = $mysqli->prepare('select name, age from tb')) {
        $stmt2->execute();
        $rows = $stmt2->affected_rows();
        $stmt2->bind_result($name, $age);
        while($stmt2->fetch()) {
            printf('%s-%s', $name, $age);
        }
        $stmt->close();
    }
    ```
  • File函数
1. basename()
    去掉路径信息,获取文件或者目录名
2. copy($ori, $des)
    文件复制
3. dirname
    获取文件或目录所属的上级目录
4. disk_free_space()
    磁盘剩余空间
    disk_total_space()
    磁盘总共空间
5. fopen($filename, $mode)
    打开文件,获取句柄,
    $mode为r, r+, w, w+, a, a+, x以读写方式创建并打开文件,如果文件存在,返回false
6. fgetc($handle)
    从文件读取一个字符
7. fgets($handle)
    从文件读取一行
8. file_exists($file)
    文件是否存在
9. file_get_contents($path)
    将文件内容一次性读入一个字符串,如果path有特殊字符,需使用urlencode()
10. file_put_contents($path, $data)
    data可以为数组
11. file($url)
    将一个文件读取到数组中
12. filectime()  文件创建时间
      fileatime()  文件上次访问时间
      filemtime()  文件上次修改时间
13. filesize() 
      文件大小
14. filetype()
      文件类型
15. flock($handle, LOCK_TYPE)
      给文件上锁
      LOCK_EX:独占锁 w w+, a a+
      LOCK_SH:共享锁 r r+
      LOCK_UN:开锁
16. is_dir()
      is_file()
      is_link()
17. is_readable()
      is_writeable()
18. mkdir()
      创建目录
19. pathinfo()
      $pathinfo = pathinfo('/usr/xy/php.ini');
      echo $pathinfo['extension'];  //ini
      echo $pathinfo['basename'];  //php.ini
      echo $pathinfo['dirname'];     // /usr/xy
20. rename()
      移动文件
21. rmdir()
      删除文件夹
22. unlink()
      删除文件
23. is_uploaded_file()
      为了能使 is_uploaded_file() 函数正常工作,必段指定类似于 $_FILES['userfile']['tmp_name'] 的变量,而在从客户端上传的文件名 $_FILES['userfile']['name'] 不能正常运作。 
24. move_uploaded_file()
      如果是通过POST上传的文件,则可以移动,否则返回false
  • Directory函数
1. opendir()
    打开文件夹
        $filepath = "/usr/xy";
        if(is_dir($filepath)) {
            $fp = opendir($filepath);
            while(false !== ($file = readdir($fp))) {
                echo $file;
            }
        }
        function readdir_recusive($filepath, $prefix = '') {
            if(is_dir($filepath)) {
                $handle = opendir($filepath);
                while(false !== ($file = readdir($handle))) {
                    if($file != '.' && $file != '..')
                    {
                        $filename = mb_convert_encoding($file, 'utf-8', 'gbk');
                        $fullpath = mb_convert_encoding($filepath.'/'.$file, 'utf-8', 'gbk');
                        if(is_dir($filepath.'/'.$file)) {
                            echo ''.$filename. '
'; readdir_recusive($filepath.'/'.$file, $prefix.' '); } else { echo $prefix.''. $filename . '
'; } } } closedir($handle); } }    readdir_recusive(mb_convert_encoding('F://下载', 'gbk', 'utf-8'));

你可能感兴趣的:(PHP必备函数)