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\n大家好

  (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>
时间: 2024-08-01 00:30:43

php进阶1的相关文章

Azure进阶攻略丨Azure网络通不通,PsPing&amp;PaPing告诉你答案

很多时候,为了解决一些问题,要查各种文档,很麻烦你造吗!做「伸手党」又容易被鄙视,这时候就需要用到[Azure 进阶攻略]啦!特此,我们推出关于 Azure 常用操作指南的系列文章,每篇涉及一个 Azure 使用过程中的问题,简明扼要直击重点,纯干货内容帮你快速搞定 Azure 使用难题和障碍,只需一两分钟阅读,你就可以继续愉快地翱翔云端~ 在技术人员和网络工程师的世界中,有一些众所周知的排错方式,例如: -你先 Ping 一下某某计算机,看它开着没, -我可以 Ping 通路由器,但 Ping

Java进阶书籍推荐

学习Java,书籍是必不可少的学习工具之一,尤其是对于自学者而言.废话不多说,下边就给广大程序猿们推荐一些Java进阶的好书. 第一部分:Java语言篇 1.<Java编程规范> 适合对象:初级.中级 介绍:这本书的作者是被誉为Java之父的James Gosling,入门者推荐阅读,对基础的讲解很不错. 2.<Java编程思想> 适合对象:初级.中级 介绍:豆瓣给出了9.1的评分,全球程序员广泛赞誉.有人说这本书不适合初学者,不过小编认为作者并没有对读者已有的知识经验有过多要求,

进阶之初探nodeJS

一.前言 在"初探nodeJS"随笔中,我们对于node有了一个大致地了解,并在最后也通过一个示例,了解了如何快速地开启一个简单的服务器. 今儿,再次看了该篇随笔,发现该随笔理论知识稍多,适合初级入门node,固萌生一个想法--想在该篇随笔中,通过一步步编写一个稍大一点的node示例,让我们在整体上更加全面地了解node. so,该篇随笔是建立在"初探nodeJS"之上的,固取名为"进阶之初探nodeJS". 好了,侃了这多,那么我们即将实现一个

机器学习进阶笔记之一 | TensorFlow安装与入门

原文链接:https://zhuanlan.zhihu.com/p/22410917 TensorFlow 是 Google 基于 DistBelief 进行研发的第二代人工智能学习系统,被广泛用于语音识别或图像识别等多项机器深度学习领域.其命名来源于本身的运行原理.Tensor(张量)意味着 N 维数组,Flow(流)意味着基于数据流图的计算,TensorFlow 代表着张量从图象的一端流动到另一端计算过程,是将复杂的数据结构传输至人工智能神经网中进行分析和处理的过程. -- 由 UCloud

Python之路【第十七篇】:Django【进阶篇 】

Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行数据库操作 import MySQLdb def GetList(sql): db = MySQLdb.connect(user='root', db='wupeiqidb', passwd='1234', host='localhost')

bash脚本编程之case语句及脚本选项进阶

case语句及脚本选项进阶详解     面向过程程序设计语言中的控制流(即程序当中的语句)默认是顺序执行的. 程序设计语言的控制结构一共有三类: 1,顺序结构 2,选择结构 (1)if语句 ->单分支的if语句 格式:if condition1;then expression ... fi ->双分支的if语句 格式:if condition1;then expression ... else expression ... fi ->多分支的if语句 格式:if condition1;t

Java进阶(三十四)Integer与int的种种比较你知道多少?

Java进阶(三十四)Integer与int的种种比较你知道多少? 前言 如果面试官问Integer与int的区别:估计大多数人只会说到两点:Ingeter是int的包装类,注意是一个类:int的初值为0,Ingeter的初值为null.但是如果面试官再问一下Integer i = 1;int ii = 1; i==ii为true还是为false?估计就有一部分人答不出来了,如果再问一下其他的,估计更多的人会头脑一片混乱.所以我对它们进行了总结,希望对大家有帮助. 首先看代码: package

grep进阶与sed行编辑器

grep进阶与sed行编辑器 上一篇(http://nearlv.blog.51cto.com/2432295/1729198)我们介绍了grep的一些基本的使用方法,其它grep还是一些比较高级的用法,让我们一起来看看. 先来看一下下面例子的运行结果: 相同的命令输出的结果有点不一样,对,这里就是利用"alias"去设置命令的别名,语法格式为"alias="command""即可,可能通过直接在命令行输入"alias"查看当

我的Android进阶之旅------&gt;Java字符串格式化方法String.format()格式化float型时小数点变成逗号问题

今天接到一个波兰的客户说有个APP在英文状态下一切运行正常,但是当系统语言切换到波兰语言的时候,程序奔溃了.好吧,又是我来维护. 好吧,先把系统语言切换到波兰语,切换到波兰语的方法查看文章 我的Android进阶之旅------>Android[设置]-[语言和输入法]-[语言]列表中找到相应语言所对应的列表项 地址:http://blog.csdn.net/ouyang_peng/article/details/50209789 ================================

8. 蛤蟆的数据结构进阶八哈希表相关概念

8. 蛤蟆的数据结构进阶八哈希表相关概念 本篇名言:"作家当然必须挣钱才能生活,写作,但是他决不应该为了挣钱而生活,写作.--马克思" 前些笔记我们学习了二叉树相关.现在我们来看下哈希表.这篇先来看下哈希表的相关概念 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/47347273 1.  哈希表的概念 哈希表(HashTable)也叫散列表,是根据关键码值(Key Value)而直接进行访问的数据结构.它通过把关键