• php进阶1


    1.php时间函数

    UNIX 时间戳(英文叫做:timestamp)是 PHP 中关于时间与日期的 一个很重要的概念,它表示从 1970年1月1日到当前时间的秒数之和。 PHP提供了内置函数 time() 来取得服务器当前时间的时间戳。

    (1)date()

        php内置了date()函数,来取得当前的日期和时间。 格式:date(时间戳的格式, 规定时间戳【可选】)

         var_dump(date(“Y-m-d H:i:s”));//2016-11-16 21:10:13

        var_dump(date(“y-m-d h:i:s”));//16-11-16 09:10:13

        var_dump(date(“Y-m-d h:i:s”,1472903021));//返回规定的时间

        var_dump(date(“z w”));//321 4

    microtime( )函数:

      返回当前微秒数和时间戳(如果给出参数为true时返回浮点数)

       var_dump(microtime()); //0.68103500 1479302563  

       var_dump(microtime(true)); //1479302563.6811

    getdate( )函数:

      获取当前时间或指定时间戳的文本时间(数组形式)

       从而可以分别获得年 月 日 等值。

    date_default_timezone_set('PRC');
    var_dump(date_default_timezone_get());
    
    var_dump(time());//int 1479367657
    var_dump(date("Y-m-d H:s:d"));//2016-11-17 15:37:17
    var_dump(date("Y-m-d H:s:d",1429366997));//2015-04-18 22:17:18
    var_dump(date("w-z"));//4-321 周四 这是一年中的321天
    var_dump(strtotime("2011-11-11"));//1320940800
    var_dump(strtotime("2011-11-11 00:00:11"));// 1320940811
    var_dump(microtime());//0.39642800 1479367657
    var_dump(microtime(true));//1479367657.3964
    var_dump(getdate());//数组
    var_dump(getdate()['month']);//November

    2.php数学函数:

      ceil( ) : 函数向上舍入为最接近的整数,返回float型

      floor( ) : 函数向下舍入为最接近的整数,返回float型

       max( ) : 函数返回最大值

      min( ) : 函数返回最小值

      round( ) : 对浮点数四舍五入(转换后类型为float)

      mt_rand(min, max) : 返回min到max之间的随机整数

       pow(x, y) : 计算次方值,返回 x 的 y 次方

      pi( ) : 返回圆周率的值

    3.字符串操作:

      如果双引号中我们使用变量,我们可以使用{}来保住变量。

         $str1=“我是字符串”;

        echo "abcde{$str1}12345";

      当我们在字符串中显示特殊符号时,我们可以使用转义符输出。

         echo “nihao\n大家好”;

        输出: nihao 大家好

      (1)字符串操作:

        trim(“ bokanwensi “): 返回删除字符串首尾空白符的字符串;

        ltrim(“ bokanwensi ”): 返回删除字符串左边空格的字符串

        rtrim(“ bokanwensi ”): 返回删除字符串右边空白的字符串;

        strlen(“博看文思”); 取得字符串长度的函数;

        mb_strlen(“博看文思”, “utf-8”); 取得字符串长度的函数,可以选择编码格式

        strtolower(): 将字符串全部转为小写

        strtoupper(): 将字符串转为大写字符串

         ucfirst(): 将字符串首字母改为大写

        ucwords(): 将字符串每个词的首字母全部改为大写

        explode(“.”,”www.baidu.com”): 将字符串根据规则拆分成数组并返回新数组                                   substr(string , int start, int [length]): 返回截取字符串,若start为负数则倒数往后截取    

               mb_substr( ): 返回截取字符串,第三个参数可以修改编码格式(utf-8,gbk,GB2312)

               注:系统不支持mb_substr()的 在php.ini中查找 mbstring.dll ;extension=php_mbstring.dll把前面的;号去掉才可以使用

           strchr( 数据源,指定字符 ): 从前面开始按指定字符开始截取到最后,返回截取字符

              strrchr( 数据源,指定字符 ): 从后面开始按指定字符开始截取到最后,返回截取字符

              str_replace( 参数1 , 参数2 , 参数3 ): 参数1是替换目标,参数2是替换内容 ,参数3是查询数据源                str_ireplace( 参数1 , 参数2 , 参数3 ): 和str_replace用法一致但是不区分大小写

        md5(): 返回加密后的字符串(不可逆转的加密);

        urlencode(): 对url进行encode加密 原理就是首先把中文字符转换为十六进制,然后在每个字符前面 加一个标识符%

         urldecode(): 对url进行解密 用于解码已编码的 URL 字符串,其原理就是把十六进制字符串 转换为中文字符

    $str1='abc';
    echo "我是一个粉刷匠$str1";//我是一个粉刷匠abc
    echo "我是一个粉刷匠$str1粉刷本领强";//报错,然后显示‘我是一个粉刷匠’
    echo "我是一个粉刷匠{$str1}本领强";//我是一个粉刷匠abc本领强
    $str2='  hsshidoubi  ';
    var_dump(trim($str2));// string 10
    var_dump(ltrim($str2));//string 12
    var_dump(rtrim($str2));//string 12
    var_dump(strlen($str2));//int 14
    $str3='博看文思12';
    var_dump(strlen($str3));//int 14
    var_dump(mb_strlen($str3,'utf-8'));//int 6
    $str1='123jizhimingJIZHIm456';
    var_dump(strchr($str1,'m'));//mingm456
    var_dump(strrchr($str1,'m'));//m456
    var_dump(str_replace('jizhi','lihai',$str1));
    var_dump(str_ireplace('jizhi','lihai',$str1));
    $pass='hssdb';
    var_dump(md5($pass));
    var_dump(md5(md5($pass.'db')));//拼接一个字符
    function fnMD5($str){
        return md5(md5($str.'hs'));
    }
    var_dump(fnMD5('12345'));
    $str10="大虎蛋咿呀呀";
    var_dump(mb_substr($str10, 0,6));//大虎
    var_dump(mb_substr($str10, 0,5));//乱码
    var_dump(mb_substr($str10,0,6,'utf-8'));//大虎蛋咿呀呀

    4.上传文件

      超全局变量 $_FILES

        $_FILES - 存储各种与上传文件有关的信息

        $_FILES[“file”][“name”] - 被上传文件的名称

         $_FILES[“file”][“type”] - 被上传文件的类型

        $_FILES[“file”][“size”] - 被上传文件的大小,以字节计

        $_FILES[“file”][“tmp_name”] - 上传文件的临时副本名称

        $_FILES[“file”][“error”] -上传文件导致的错误代码 0 1 2 3 4

      file_exists() 函数

         file_exists() 函数检查文件或目录是否存在

        如果指定的文件或目录存在则返回 true,否则返回 false

           file_exists(path) path 规定要检查的路径

            例:file_exists( "upload/".$_FILES["file"]["name"] )

      move_uploaded_file() 函数

        move_uploaded_file() 函数

          将上传的文件移动到新位置 若成功,则返回 true,否则返回 false

         move_uploaded_file( file , newloc )

          file 规定要移动的文件

          newloc 规定文件的新位置

        例:move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$_FILES["file"]["name"]);

      其他设置

         <form> 标签的 enctype 属性规定了在提交表单时要使用哪种 内容类型。

          在表单需要二进制数据时,比如文件内容,请使用 “multipart/form-data”。

            IE识别 jpg 文件的类型必须是 pjpeg,而 FireFox必须是 jpeg。

    <?php
    var_dump($_FILES);
    if (!empty($_FILES)) {
        if ((($_FILES['file']['type']=='image/jpeg')||($_FILES['file']['type']=='image/png')||($_FILES['file']['type']=='image/gif')||($_FILES['file']['type']=='image/pjpeg'))&&($_FILES['file']['size']<=102400)) {
            if ($_FILES['file']['error']=0) {
                if (file_exists("upload/".$_FILES["file"]["name"])){
                    echo $_FILES["file"]["name"]."文件已存在";
                }else{
                    move_uploaded_file($_FILES['file']['tmp_name'],"upload/".$_FILES['file']['name']);
                }
            }else{
                echo "错误编号为:".$_FILES['file']['error'];
            }
        }else{
            echo $_FILES['file']['name']."错误文件";
        }
    }
    ?>
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <form action="" method="post" enctype="multipart/form-data">
            <input type="file" name="file" required>
            <input type="submit" value="上传">
        </form>
    </body>
    </html>
  • 相关阅读:
    Vitamio中文API文档(3)—— MediaController
    [活动]hhhchina.net很暴力,还有更好的投票方式吗?
    [anytao.activity]也来拉票,不只为评选
    [活动]Scott,来了
    写在2007,行胜于言
    《你必须知道的.NET》,评价和推荐
    [你必须知道的.NET]第十七回:貌合神离:覆写和重载
    [你必须知道的.NET]第十八回:对象创建始末(上)
    当选2008 Microsoft MVP,从好的开始继续
    [你必须知道的.NET]第十九回:对象创建始末(下)
  • 原文地址:https://www.cnblogs.com/SunShineM/p/6074290.html
Copyright © 2020-2023  润新知