php 读取文件的各种时间

 更新时间:2016年11月25日 15:04  点击:1633
在php要获取文件的修改,创建时间我们可以直接使用filemtime() 函数,它可以返回文件内容上次的修改时间。

若成功,则时间以 Unix 时间戳的方式返回。若失败,则返回 false。

filemtime ( string filename )

返回文件上次被修改的时间,出错时返回 FALSE。时间以 Unix 时间戳的方式返回,可用于 date()。

 代码如下 复制代码

$a=filemtime("log.txt");   

echo "修改时间:".date("Y-m-d H:i:s",$a);

filectime ( string filename )
返回文件上次 inode 被修改的时间,如果出错则返回 FALSE。时间以 Unix 时间戳的方式返回。

 代码如下 复制代码

$a=filectime("log.txt");   

echo "创建时间:".date("Y-m-d H:i:s",$a);

fileatime ( string filename )
返回文件上次被访问的时间,如果出错则返回 FALSE。时间以 Unix 时间戳的方式返回。

 代码如下 复制代码

$a=fileatime("log.txt");   

echo "修改时间:".date("Y-m-d H:i:s",$a)."

在php中删除一个数组元素我们有很多种方法,但是常用的就是利用unset函数了,但是删除中间的数组元素了我们要怎么重建数组索引呢,下面来参考。
 代码如下 复制代码

$arr = array(1,2,3,4);
unset($arr[1]);
echo $array[1]; // error Undefined offset
print_r($arr);

// 输出如下
/**
Array
(
    [0] => 1
    [2] => 3
    [3] => 4
)
**/
$arr = array_values($arr);
print_r($arr);
// 输出如下
/**
Array
(
    [0] => 1
    [1] => 3
    [2] => 4
)
**/

在php中如果你想正则来获取字符串中汉字我们先需要知道页面编码,正则匹配中文汉字根据页面编码不同而略有区别:GBK/GB2312编码:[x80-xff>]+ 或 [xa1-xff]+ 而UTF-8编码:[x{4e00}-x{9fa5}]+/u 。

 代码如下 复制代码

echo (mb_eregi("[x80-xff].","中d文") ? "有" : "无") ."汉字";
echo (mb_eregi("^([x80-xff].)+$","中文") ? "全是汉字" : ""); 看一判断全中文字符串函数

以下以PHP为例进行匹配:

 代码如下 复制代码

<?php
   $str = "学习php是一件快乐的事。";
   preg_match_all("/[x80-xff]+/", $str, $match);
   //UTF-8 使用:
   //preg_match_all("/[x{4e00}-x{9fa5}]+/u", $str, $match);
   print_r($match);
?>

输出:

Array
(
    [0] => Array
        (
            [0] => 学习
            [1] => 是一件快乐的事。
        )

)

正则汉字

 代码如下 复制代码

$str = "请问php中的eregi如何匹配汉字";
if (preg_match("/^[".chr(0x80)."-".chr(0xff)."]+$/",$str)) {
   echo "这是一个纯中文字符串";
} else{
   echo "这不是一个纯中文字串";
}
preg_match_all($pat,……)与preg_replace($pat,……)……


preg_match_all("/(汉字)+/ism","我是汉字,看你把我怎么着!",$m_a);
了各个编码的高位与低位的开始与结束,那么自然就可以写出正则,而且直接是十六位的,有啥困难?呵呵。不过要注意,在php里面,表示十六位是用的x


我们还可以用该正则表达式来判断是否是gb2312的汉字

 代码如下 复制代码

<?php
$str = "小小子";
if(preg_match("/^[xb0-xf7][xa0-xfe]+$/",$str)){
print($str."确实全是汉字");
} else {
print($str."这个真tc不全是汉字");
}
?>

本文章来总结介绍关于php中global static和$GLOBALS使用与区别有需要了解他们三区别的朋友可参考参考。

1.global在整个页面起作用。

例1

 代码如下 复制代码

global $var1,$var2;

就是外部变量的同名引用,变量本身的作用范围仍然在函数体内。改变这些变量的值,外部的同名变量自然也改变。但一旦用了&,那么变量将不再是同名引用。

 代码如下 复制代码

<?php
$var1 = 1;$var2 = 2;
function test(){   
global $var1,$var2;
// 作用范围在函数体内   
$var1 = 3;}
test();
echo $var1;
?>

结果是 3。

因为是同名引用

在函数体内定义的PHP Global变量,函数体外可以使用,在函数体外定义的global变量不能在函数体内使用,

 代码如下 复制代码

$glpbal $a;  $a=123;   function f()  {  echo $a; //错误,  } 

再看看下面一例

 代码如下 复制代码

function f()  {  global $a;  $a=123;  }   f();  echo $a; //正确,可以使用

2.static只在function和class内起作用。

global和$GLOBALS使用基本相同,但在实际开发中大不相同。
global在函数产生一个指向函数外部变量的别名变量,而不是真正的函数外部变量,一但改变了别名变量的指向地址,就会发生一些意料不到情况,

例如例子1.

 代码如下 复制代码


<?php
/*
*author:ajax123
*qq:283400245
*/
class person{
static$name="ajax123";//static声明静态属性
static$age=25;//static声明静态属性
static$address="北京";//static声明静态属性
function song(){
echo "My name is : ".self::$name."<br>";//类内部:通过通过self 类访问静态属性
echo "I am ".self::$age."<br>";//类内部:通过通过self 类访问静态属性
echo "I live in ".self::$address."<br>";//类内部:通过self 类访问静态属性
}
}
echoperson::$name."<br>";//类外部:通过类名person访问静态属性
echoperson::$age."<br>";//类外部:通过类名person访问静态属性
echoperson::$address."<br>";//类外部:通过类名person访问静态属性
?>

$GLOBALS[]确确实实调用是外部的变量,函数内外会始终保持一致

Example #1 $GLOBALS 范例

 代码如下 复制代码

<?php
function test() {
    $foo = "local variable";

    echo '$foo in global scope: ' . $GLOBALS["foo"] . "n";
    echo '$foo in current scope: ' . $foo . "n";
}

$foo = "Example content";
test();
?>

以上例程的输出类似于:

$foo in global scope: Example content
$foo in current scope: local variable

一个利用php中array_unique实现去除二级数组重复值的方法,有需要的朋友可参考参考。
 代码如下 复制代码

<?php
$input = array(“a” => “green”,”", “red”,”b” => “green”, “”,”blue”, “red”,”c” => “witer”,”hello”,”witer”);
//$result = array_unique($input); //去除重复元素
$result = a_array_unique($input);?? //只留下单一元素
foreach($result as $aa)
{
echo $aa.”<br />”;
}
function multi_unique($array) {
foreach ($array as $k=>$na)
$new[$k] = serialize($na);
$uniq = array_unique($new);
foreach($uniq as $k=>$ser)
$new1[$k] = unserialize($ser);
return ($new1);
}

function a_array_unique($array)//写的比较好
{
$out = array();
foreach ($array as $key=>$value) {
if (!in_array($value, $out))
{
$out[$key] = $value;
}
}
return $out;
}
?>

array_unique函数只适用于一维数组,对多维数组并不适用,但是我们利用遍历数据然后再进行操作就可以实现array_unique去除重复数组了。

 代码如下 复制代码

function unique_arr($array2D,$stkeep=false,$ndformat=true)
{
// 判断是否保留一级数组键 (一级数组键可以为非数字)
if($stkeep) $stArr = array_keys($array2D);
// 判断是否保留二级数组键 (所有二级数组键必须相同)
if($ndformat) $ndArr = array_keys(end($array2D));
//降维,也可以用implode,将一维数组转换为用逗号连接的字符串
foreach ($array2D as $v){
$v = join(“,”,$v);
$temp[] = $v;
}
//去掉重复的字符串,也就是重复的一维数组
$temp = array_unique($temp);
//再将拆开的数组重新组装
foreach ($temp as $k => $v)
{
if($stkeep) $k = $stArr[$k];
if($ndformat)
{
$tempArr = explode(“,”,$v);
foreach($tempArr as $ndkey => $ndval) $output[$k][$ndArr[$ndkey]] = $ndval;
}
else $output[$k] = explode(“,”,$v);
}
return $output;
}
$array2D = array(‘first’=>array(‘title’=>’1111′,’date’=>’2222′),’second’=>array(‘title’=>’1111′,’date’=>’2222′),’third’=>array(‘title’=>’2222′,’date’=>’3333′));
print_r($array2D);
print_r(unique_arr($array2D,true));

[!--infotagslink--]

相关文章

  • 在java中获取List集合中最大的日期时间操作

    这篇文章主要介绍了在java中获取List集合中最大的日期时间操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-15
  • C#从数据库读取图片并保存的两种方法

    这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
  • 教你怎么用Java获取国家法定节假日

    这篇文章主要介绍了教你怎么用Java获取国家法定节假日,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下...2021-04-23
  • 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
  • php把读取xml 文档并转换成json数据代码

    在php中解析xml文档用专门的函数domdocument来处理,把json在php中也有相关的处理函数,我们要把数据xml 数据存到一个数据再用json_encode直接换成json数据就OK了。...2016-11-25
  • .NET/C# 使用Stopwatch测量运行时间

    这篇文章主要介绍了.NET/C# 使用Stopwatch测量运行时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
  • JavaScript时间操作之年月日星期级联操作

    这篇文章主要介绍了JavaScript时间操作之级联日期选择操作,涉及到年、月、日、星期,感兴趣的小伙伴们可以参考一下...2016-01-18
  • C#中动态显示当前系统时间的实例方法

    想在网页中动态地显示当前系统的时间,找了好多,不过都是一些停在那里不动的。。。不过皇天不负有心人,终于让我找到了...2020-06-25
  • 非常全面的php日期时间运算汇总

    实例讲解之前,先来介绍几个核心函数: mktime 函数 mktime() 函数返回一个日期的 Unix 时间戳。 参数总是表示 GMT 日期,因此 is_dst 对结果没有影响。 参数可以从右到左依次空着,空着的参数会被设为相应的当前 GMT 值。...2015-11-08
  • 常用的日期时间正则表达式

    常用的日期时间正则表达式 下面收藏了大量的日期时间正则匹配函数,包括分钟,时间与秒都能达到。 正则表达式 (?n:^(?=d)((?<day>31(?!(.0?[2469]|11))|30(?!.0?2)|29(...2016-11-25
  • c# 对CSV文件操作(写入、读取、修改)

    这篇文章主要介绍了c# 如何对CSV文件操作,帮助大家更好的理解和学习C#,感兴趣的朋友可以了解下...2020-11-03
  • postgresql 中的时间处理小技巧(推荐)

    这篇文章主要介绍了postgresql 中的时间处理小技巧(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-29
  • 从chrome调试工具中把拖延时间的东西找出来

    我打开android开发手册的时候:http://www.csdn123.com/html/android/reference/packages.html 发现打开速度很慢,我用按了一下F12打开调试面板,切换到网络的选项卡network...2016-05-19
  • python读取和保存mat文件的方法

    本文主要介绍了python读取和保存mat文件的方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-08-25
  • C# 当前系统时间获取及时间格式详解

    这篇文章主要介绍了C# 当前系统时间获取及时间格式详解的相关资料,这里提供代码实例,帮助大家学习参考,需要的朋友可以参考下...2020-06-25
  • 帝国CMS显示指定时间内更新的信息数量

    /*解决代码高亮太长不换行*/ .syntaxhighlighter{word-break:break-all;} uParse('#newstext', {rootPath: '/e/extend/ueditor/'}) 帝国CMS显示指定时间内更新的信息数...2016-11-01
  • C#使用TimeSpan时间计算的简单实现

    这篇文章主要给大家介绍了关于C#使用TimeSpan时间计算的相关资料,以及通过一个实例代码给大家介绍了C#使用timespan和timer完成一个简单的倒计时器的方法,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧...2020-06-25
  • php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法

    php获取今日开始时间戳和结束时间戳$beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));$endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;//php获取昨日起始时间戳和结束时间...2013-10-04
  • Android中使用SDcard进行文件的读取方法

    首先如果要在程序中使用sdcard进行存储,我们必须要在AndroidManifset.xml文件进行下面的权限设置: 在AndroidManifest.xml中加入访问SDCard的权限如下: <!--...2016-09-20
  • C#获取文件创建时间的方法

    这篇文章主要介绍了C#获取文件创建时间的方法,涉及C#文件操作的技巧及CreattionTime属性的使用方法,需要的朋友可以参考下...2020-06-25