查看文件是否变化会用修改时间来对比,此时会用到PHP filemtime() 函数。
filetime函数
定义和用法
filemtime() 函数返回文件内容上次的修改时间。
若成功,则时间以 Unix 时间戳的方式返回。若失败,则返回 false。
语法
filemtime(filename)
参数 描述
filename 必需。规定要检查的文件。
说明
本函数返回文件中的数据块上次被写入的时间,即文件的内容上次被修改的时间。
例如:
<?php echo filemtime("test.txt"); echo "Last modified: ".date("F d Y H:i:s.",filemtime("test.txt")); //filemtime() 函数返回文件内容上次的UNIX修改时间。 //返回 //1139919766 //Last modified: February 14 2006 13:22:46. ?>
在php编程中,遍历数组的方法很多,可以使用for语句、list、each、foreach这四个函数。
1,foreach遍历数组
在运用数组时,常常要遍历数组并获得各个键或者元素值。
php提供了一些专门遍历数组的函数。
先介绍foreach遍历数组函数的用法。
结构形式:
/* array_expression是要遍历的数组
as作用是将数组的值赋给$value
statement是后续语句
*/
例子:
<?php /** * foreach 遍历数组 * edit www. */ $color=array('white' => '白色' , 'black' => '黑色' , 'red' => '红色' , 'green' => '绿色', 'yellow' => '黄色'); foreach( $color as $c) echo $c ."<br>"; ?>
通过foreach除了可以获得元素的值,还可以获得键名,结构形式:
foreach ( array_expression as $key => $value ) statement
将以上实例中:
foreach( $color as $c) echo $c ."<br>";
修改为:
foreach( $color as $key => $c) echo $key.$c ."<br>";
2,each遍历数组
介绍另一个遍历数组的函数-each()。
用each()函数可以输出当前指针位置的键名和对应的元素值。
可以使用”0″或”key”来访问键名(标识符),用”1″或”value”访问标识符对应的值。
例子:
<?php /** * each 遍历数组 * edit by www. */ $languages=array(1=>"php", 5=>"html", 10=>"css"); $a=each($languages); /* 第一次遍历数组 */ echo $a[0] ."t"; echo $a[1] ."<br>"; $a=each($languages); /* 第二次遍历数组 */ echo $a[key] ."t"; echo $a[value]; ?>
3,php用list、for遍历数组元素的示例参考
在php中,使用函数list,可以在遍历数组时一次赋给变量,通常和each()函数配合使用。
用list()函数访问each()返回的键和值很简单。
例子:
<?php /** * list遍历php数组 * edit by www. */ $date=array(1=>"Monday", 2=>"Tuesday", 3=>"Wednesday"); list($key,$value)=each($date); /* 遍历函数 */ echo "$key $value" ."<br>"; /* 输出第一个数组 */ $next=next($date); /* 指针后移 */ echo "$next"; ?>
说明:
list()函数与array()函数相反,array()将一系列数据构造成数组,而list()则将数组拆分成数据。
下面再来看用for遍历数组的例子。
除了php预定义的一些遍历数组函数,还可以使用for语句的循环特性将数组遍历输出。
例子:
<?php /** * for循环遍历数组 * edit by www. */ $a[]=""; /* 定义数组 */ $a[]="xxx"; $a[]="com"; $a[]="www"; $s=count($a); /* 统计数组个数 */ for($i=0;$i<$s;$i++){ /* 遍历数组 */ echo $a[$i] ."<br>"; /* 显示数组 */ } ?>
根据IP地址获取地理位置,如下:
<?php /** * 根据IP得到地理位置 * edit by www. */ function get_ip_place() { $ip=file_get_contents("http://fw.qq.com/ipaddress"); $ip=str_replace('"',' ',$ip); $ip2=explode("(",$ip); $a=substr($ip2[1],0,-2); $b=explode(",",$a); return $b; } ?>
下面这个是用正则表达式来实现的,更简单明了,代码如下:
<?php /** * 根据IP地址取得地理位置 * edit by www. */ function get_ip_arr() { $ip=file_get_contents("http://fw.qq.com/ipaddress"); preg_match_all("/\"(.*)\"/",$ip,$arr); return $arr; } //返回一个数组,包括地区、IP等信息,自行获取即可。 ?>