① php自定义函数返回数组问题!
有了文件路径什么都好办
while(($rs=readdir($dh))!==false){
if($rs!='.' && $rs!='..'){
$fileData['path'] = $path.$rs;
$fileData['time']=filemtime($fileData['path'].$rs);//返回更新时间
...
$arr[] = $fileData;
}
fileatime() 返回文件的上次访问时间。
filectime() 返回文件的上次改变时间。
filegroup() 返回文件的组 ID。
fileinode() 返回文件的 inode 编号。
filemtime() 返回文件的上次修改时间。
fileowner() 文件的 user ID (所有者)。
fileperms() 返回文件的权限。
filesize() 返回文件大小。
filetype() 返回文件类型
② PHP怎么判断一个文件夹下的所有文件,哪个创建的时间离当前时间最接近
<?php
//
路径
+
用户名
$dir
=
"c:/users/kyoabczhx";
//
去掉
.
和
..
$items
=
array_diff(scandir($dir),
array('.',
'..'));
//
初始
xml
文件数组
$xml_files
=
array();
//
循环每一个文件
foreach($items
as
$file)
{
//
如果文件以
xml
结尾
if(strtolower(pathinfo($file,
pathinfo_extension))
==
'xml')
{
//
保存为
array(文件最后修改时间
=>
文件路径);
//
例如:
1313381841=>"c:/users/kyoabczhx/kyoabczhx_1313381841.xml"
$xml_files[filemtime("$dir/$file")]
=
"$dir/$file";
}
}
//
以最后修改时间排列数组
asort($xml_files);
//
$xml_files[0]
就是离当前时间最近一个
xml
文件
echo
$xml_files[0];
?>
注意,代码里用到了一个
scandir
函数,这是
php5
的,如果你的服务器不支持,那还要麻烦一点。你自己能搞清楚的话我就不写了。
③ PHP的filemtime到底怎么用
filemtime -- 取得文件修改时间
int filemtime ( string filename )
返回文件上次被修改的时间,出错时返回 FALSE。时间以 Unix 时间戳的方式返回,可用于 date()。
本函数返回文件中的数据块上次被写入的时间,也就是说,文件的内容上次被修改的时间。
每次修改文件之后,系统都会记录最后修改时间,你可以看看你自己电脑上的文件,都有修改时间的。
④ php文件创建时间、修改时间问题
php获取文件创建时间、修改时间:
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 如何判断文本文件里的内容有没有改变
我是用filemtime()这个函数,如果得到的最后修改时间不一样,就是内容发生了变化,不知道有没有哪位有更好的办法,呵呵,请指教
============================================
<?php
$m = array();
$path = 'a.txt';
$m[] = filemtime($path); // 记录最后一次改时间
clearstatcache(); // 清楚文件状态缓存
$fp = fopen($path, 'a');
fwrite($fp, '456');
fclose($fp); // 打开,写入,关闭
$m[] = filemtime($path);// 再次记录
if($m[1] != $m[0]) {
echo 'y';
} else {
echo 'n';
} //做判断
?>
⑥ php中让文件循环下载的代码怎么写
自己写的方法 但是在中文路径下会 出现错误
/*
*查看问价夹中的子文件及其子文件夹
*$path 付文件夹路径
*return $arr_dir 文件夹中所有文件和子文件夹的信息
*/
function selDir($path){
$arr_dir = array();
if(is_file($path)){
header("Location: error.php");
exit;
}
$arr_dir = scandir($path);
foreach ($arr_dir as $v){
if($v != "." && $v != ".."){
//print "<hr>".$path.$v;
if(is_dir($path.'/'.$v)){
//print "<hr>是文件夹<hr>";
$arr_dir['dir'][] = array(
'fileUrl' => $path.'/'.$v,
'filename' => $v,
'type' => '文件夹',
'cTime' => @date('Y/m/d H:i',filectime($path.'/'.$v)+8*3600),
'mTime' => @date('Y/m/d H:i',filemtime($path.'/'.$v)+8*3600),
'filesize' => ''
);
}else{
//print "<hr>不是是文件夹<hr>";
$arr_dir['file'][] = array(
'fileUrl' => $path.'/'.$v,
'filename' => $v,
'type' => pathinfo($path.'/'.$v, PATHINFO_EXTENSION),
'cTime' => @date('Y/m/d H:i',filectime($path.'/'.$v)+8*3600),
'mTime' => @date('Y/m/d H:i',filemtime($path.'/'.$v)+8*3600),
'filesize' => filesize($path.'/'.$v)
);
}
}
}
//var_mp($arr_dir);
return $arr_dir;
}
⑦ 关于PHP中filemtime()的问题
这样处理,修改PHP.INI,查找timezone,修改为如下内容:
[Date]
; Defines the default timezone used by the date functions
date.timezone = Asia/Chongqing
修改之前的这一行内容是注释掉的:
;date.timezone =
⑧ php中指定一个目录,删掉其他文件,保留最后更新时间为最近七天的文件
给个思路:
用filemtime()函数可以读取文件的最后修改时候,判断一下,七天前的就删除。
如果文件夹内还有文件夹,就需要用到递归来删除了。
⑨ PHP怎么判断文件是否被修改过
一种是filemtime()比较文件修改时间,另一种是filesize(),比较文件大小。
不过比较好的做法是“客户端请求服务端”的脚本里,添加一个数据库事务?你是怎么做文件修改的呢?
$_GET? $_POST?
file_put_contents()?fwrite()?
那么在这段代码后,将当前时间保存进数据库。