php 获取当前时间的毫秒数程序代码
php本身没有提供返回毫秒数的函数,但提供了一个microtime()函数,该函数返回一个array,包含两个元素,一个是秒数,一个是小数表示的毫秒数,借助此函数,可以很容易定义一个返回毫秒数的函数,例如:
代码如下 | 复制代码 |
function getMillisecond() { |
需要注意,在32位系统中php的int最大值远远小于毫秒数,所以不能使用int类型,而php中没有long类型,所以只好使用浮点数来表示。由于使用了浮点数,如果精度设置不对,使用echo显示获取的结果时可能会不正确,要想看到输出正确的结果,精度设置不能低于13位。
代码如下 | 复制代码 |
/* * microsecond 微秒 millisecond 毫秒 *返回时间戳的毫秒数部分 */ function get_millisecond() { list($usec, $sec) = explode(" ", microtime()); $msec=round($usec*1000); return $msec; } /* * *返回字符串的毫秒数时间戳 */ function get_total_millisecond() { $time = explode (" ", microtime () ); $time = $time [1] . ($time [0] * 1000); $time2 = explode ( ".", $time ); $time = $time2 [0]; return $time; } /* * *返回当前 Unix 时间戳和微秒数(用秒的小数表示)浮点数表示,常用来计算代码段执行时间 */ function microtime_float() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } |
需要注意,在32位系统中php的int最大值远远小于毫秒数,所以不能使用int类型,而php中没有long类型,所以只好使用浮点数来表示。
PHP curl可以从服务器端模拟一个http请求,例如抓取网页、模拟登陆等。根据选项设置,可以在curl_exec的返回结果中获取到响应头和body,但这没有响应的状态吗。想要获取状态吗,需要在执行curl_exec后再通过curl_getinfo来获取。例如:
代码如下 | 复制代码 |
$ch = curl_init (); curl_exec($ch); $httpCode = curl_getinfo($ch,CURLINFO_HTTP_CODE); |
另外curl_getinfo还可以获取很多其他信息
unlink函数在php中就是删除文件的,但我们可以通过判断文件是否有删除权限,下面我来给大家简单介绍一下unlink函数用法与权限判断。unlink($file)
例1
代码如下 | 复制代码 |
<?php |
有时会出现权限问题,对文件有写权限,但是无法删除。
原因很简单,删除文件不是对文件的修改,而是修改目录,需要对文件所在目录有写权
判断文件是否具备读权限应用的是is_readable()函数,判断文件是否具备写权限应用的是is_writable()函数。is_readable()函数,判断指定文件是否可读,语法如下:
bool is_readable(string filename)
如果文件存在并且可读则返回TRUE。
is_writable()函数,判断指定文件是否可写,语法如下:
bool is_writable(string filename)
如果文件存在并且可写则返回TRUE。参数filename可以是一个允许进行是否可写检查的目录名。
注意:PHP也许只能以运行webserver的用户名(通常为'nobody')来访问文件。不计入安全模式的限制。对文件权限的判断,是对文件进行操作的前提,特别是在执行文件的读取、写入、重命名等操作时,如果文件不具备备读、写的权限,那么这些操作是没有任何意义的。
设计过程
(1)创建index.php文件。
(2)添加表单,设置文本框,提交指定文件,设置文件域,提交写入文件中的数据,设置提交按钮,使用POST方法,将数据提交到本页。
(3)通过$_POST[]方法获取表单提交的文件路径和文件内容,并通过iconv()函数对获取的数据进行编码转换。首先,判断指定的文件是否存在。然后,判断指定的文件是否具备写的权限,如果具备,则将表单提交的文件内容写入到文件中。最后,关闭打开的文件,给出提示信息。index.php的关键代码如下:
代码如下 | 复制代码 |
<?php if($_POST['file_name']!=""&& is_file(iconv("utf-8","gb2312",$_POST['file_name']))==true){ //判断文件是否存在 $file_name=iconv("utf-8","gb2312",$_POST['file_name']); //编码转换 if(file_exists($file_name)){ if(is_writable($file_name)){ //判断文件是否具备写的权限 $fp=fopen($file_name,"w+"); //打开指定的文件 if(fwrite($fp,$file_content)){ //执行写入的操作 echo"<script>alert('文件写入成功!');</script>"; }else{ echo"<script>alert('文件写入失败!');</script>"; } fclose($fp); //关闭文件 }else if(is_readable($file_name)){ //判断文件是否具备读的权限 echo"<script>alert('文件只具备读权限!');</script>"; }else{ echo"<script>alert('文件不具备读、写权限!');</script>"; } }else{ echo"<script>alert('文件不存在!');</script>"; } }else{ echo"<script>alert('请输入正确的文件路径!');</script>"; } ?> |
上传图片时,上传的图片并没有全部用到,那么可以设置上传时只存到临时文件夹里面,文章发布的时候把真正用到的图片移动到有用的目录里,这样定期清理无用目录就可以了。
代码如下 | 复制代码 |
//转移临时文件夹中的图片 $imgssss = preg_match_all("/linshi/[^s'"]+.jpg|png|gif|jpeg{1}/ui",$content,$imgss); $i=1; foreach($imgss as $aimg){ if(is_string($aimg)){ if (file_exists($aimg)){ $newdir = "upload/".date("ymdhis")."/"; if (!file_exists($newdir)){ mkdir($newdir,0755,true); } $newname = $newdir.date("ymdhis").$i.".".pathinfo($aimg,PATHINFO_EXTENSION); rename($aimg,$newname); $content = str_replace($aimg,$newname, $content); } $i++; }elseif(is_array($aimg)){ foreach($aimg as $imga){ if (file_exists($imga)){ $newdir = "upload/".date("ymdhis")."/"; if (!file_exists($newdir)){ mkdir($newdir,0755,true); } $newname = $newdir.date("ymdhis").$i.".".pathinfo($imga,PATHINFO_EXTENSION); rename($imga,$newname); $content = str_replace($imga,$newname, $content); } $i++; } } } |
如果只是移动单张图片比较简单:
代码如下 | 复制代码 |
$newdir = "upload/".date("ymdhis")."/"; |
array:数组
offset: 规定取出元素的开始位置。如果是正数,则从前往后开始取,如果是负值,从后向前取 offset 绝对值。
一、PHP取索引数组的第一个
取索引数组的第一个元素非常容易,下标写0即可,不多解释。
重点和大家分享PHP取关联数组第一个的方法。先放上我今天写的代码:
代码如下 | 复制代码 |
//取默认第一个渠道名 $channel_arr = $this->get_from_channel(); //所有渠道数组 $arr_num = count($channel_arr); $first_channel = array_slice($channel_arr,0,-($arr_num-1)); //取渠道数组第一个 $html['from_channel'] = $first_channel[0]; |
删除数组
代码如下 | 复制代码 |
输出 Array ( [0] => Cat [1] => Horse ) |
还有array_shift() 函数删除数组中的第一个元素,并返回被删除元素的值.
相对的array_pop() 函数删除数组中的最后一个元素.
几个函数用下来觉得array_search()比较实用
array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false
代码如下 | 复制代码 |
$del_value = 3; print_r($array); 输出 array('1', '2', '4', '5'); |
PHP中删除数组中某个元素
在PHP中删除数组元素有以下几种方法:
要删除一个元素,用onset()
代码如下 | 复制代码 |
unset($array[3]); |
要删除多个不连续的元素,也用unset()
代码如下 | 复制代码 |
unset($array[3] $array[5]); |
要删除多个连续的元素,用array_splice()
代码如下 | 复制代码 |
array_splice($array $offset $length); |
相关文章
- 这篇文章主要介绍了C#开发Windows窗体应用程序的简单操作步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-12
- 这篇文章主要介绍了在java中获取List集合中最大的日期时间操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-15
- 本文通过例子,讲述了C++调用C#的DLL程序的方法,作出了以下总结,下面就让我们一起来学习吧。...2020-06-25
- 这篇文章主要介绍了教你怎么用Java获取国家法定节假日,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下...2021-04-23
- 这篇文章主要介绍了微信小程序 页面传值详解的相关资料,需要的朋友可以参考下...2017-03-13
- 这篇文章主要介绍了.NET/C# 使用Stopwatch测量运行时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
mysql中获取一天、一周、一月时间数据的各种sql语句写法
创建表:复制代码 代码如下:create table if not exists t( id int, addTime datetime default '0000-00-00 00:00:00′)添加两条初始数据:insert t values(1, '2012-07-12 21:00:00′);insert t values(2, '2012-07...2014-05-31- 本文通过两个示例讲解了一下Process类调用外部应用程序的基本用法,并简单讲解了StartInfo属性,有需要的朋友可以参考一下。...2020-06-25
- 大概有如下步骤 新建项目Bejs 新建文件package.json 新建文件Gruntfile.js 命令行执行grunt任务 一、新建项目Bejs源码放在src下,该目录有两个js文件,selector.js和ajax.js。编译后代码放在dest,这个grunt会...2014-06-07
- 这篇文章主要介绍了uniapp微信小程序:key失效的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-20
- 本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
将c#编写的程序打包成应用程序的实现步骤分享(安装,卸载) 图文
时常会写用c#一些程序,但如何将他们和photoshop一样的大型软件打成一个压缩包,以便于发布....2020-06-25- 常用的日期时间正则表达式 下面收藏了大量的日期时间正则匹配函数,包括分钟,时间与秒都能达到。 正则表达式 (?n:^(?=d)((?<day>31(?!(.0?[2469]|11))|30(?!.0?2)|29(...2016-11-25
- 这篇文章主要介绍了微信小程序 二维码生成工具 weapp-qrcode详解,教大家如何在项目中引入weapp-qrcode.js文件,通过实例代码给大家介绍的非常详细,需要的朋友可以参考下...2021-10-23
- 实例讲解之前,先来介绍几个核心函数: mktime 函数 mktime() 函数返回一个日期的 Unix 时间戳。 参数总是表示 GMT 日期,因此 is_dst 对结果没有影响。 参数可以从右到左依次空着,空着的参数会被设为相应的当前 GMT 值。...2015-11-08
- 想在网页中动态地显示当前系统的时间,找了好多,不过都是一些停在那里不动的。。。不过皇天不负有心人,终于让我找到了...2020-06-25
- 这篇文章主要介绍了微信小程序 网络请求(GET请求)详解的相关资料,需要的朋友可以参考下...2016-11-22
- 这篇文章主要为大家详细介绍了微信小程序自定义tabbar组件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-03-14
- 这篇文章主要给大家介绍了关于微信小程序如何获取图片宽度与高度的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-10
- 这篇文章主要介绍了Python爬取微信小程序通用方法代码实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-09-29