php scandir按文件日期排序
我需要帮助,如何排序下面的代码,按文件日期php scandir按文件日期排序,php,Php,我需要帮助,如何排序下面的代码,按文件日期 $dir2 = "flash/$plk/img"; $plks2 = scandir($dir2); $plkss2 = array_diff($plks2, array('.', '..')); foreach ($plkss2 as $plk2) { echo '<img data-src="flash/'. str_replace('+', '%20', urlencode($
$dir2 = "flash/$plk/img";
$plks2 = scandir($dir2);
$plkss2 = array_diff($plks2, array('.', '..'));
foreach ($plkss2 as $plk2) {
echo '<img data-src="flash/'. str_replace('+', '%20', urlencode($plk)) .'/img/' . $plk2 . '" alt="" class="img-responsive lazyload">';
}
$dir2=“flash/$plk/img”;
$plks2=scandir$dir2;
$plkss2=数组_diff($plks2,数组('.','..);
foreach($plkss2作为$plk2){
回声';
}
这应该适合您:
(我只是使用获取目录中的所有文件,然后使用对数组进行排序,在这里我使用foreach循环比较上次修改和每个文件中的I循环)
给你
<?php
$dir = ".";
$dh = opendir($dir);
while (false !== ($filename = readdir($dh))) {
$files[] = $filename;
}
$file_array = array();
foreach ($files as $file_name) {
$file_array[filemtime($file_name)] = $file_name;
}
ksort($file_array);
var_dump($file_array);
?>
另一个scandir保留最新的5个文件
public function checkmaxfiles()
{
$dir = APPLICATION_PATH . '\\modules\\yourmodulename\\public\\backup\\'; // '../notes/';
$ignored = array('.', '..', '.svn', '.htaccess');
$files = array();
foreach (scandir($dir) as $file) {
if (in_array($file, $ignored)) continue;
$files[$file] = filemtime($dir . '/' . $file);
}
arsort($files);
$files = array_keys($files);
$length = count($files);
if($length < 4 ){
return;
}
for ($i = $length; $i > 4; $i--) {
echo "Erase : " .$dir.$files[$i];
unlink($dir.$files[$i]);
}
}
公共函数checkmaxfiles()
{
$dir=APPLICATION_PATH.'\\modules\\yourmodulename\\public\\backup\\\';/'../notes/';
$ignored=数组('.','..','.svn','.htaccess');
$files=array();
foreach(scandir($dir)作为$file){
如果(在数组中($file,$ignored))继续;
$files[$file]=filemtime($dir.'/'.$file);
}
arsort($文件);
$files=数组_键($files);
$length=计数($files);
如果($length<4){
返回;
}
对于($i=$length;$i>4;$i--){
回显“擦除:.$dir.$files[$i];
取消链接($dir.$files[$i]);
}
}
文件日期?上次修改或创建它是什么时候?是的,我想按上次修改对它们进行排序这很糟糕,因为如果两个文件的修改日期相同,则会导致冲突。
public function checkmaxfiles()
{
$dir = APPLICATION_PATH . '\\modules\\yourmodulename\\public\\backup\\'; // '../notes/';
$ignored = array('.', '..', '.svn', '.htaccess');
$files = array();
foreach (scandir($dir) as $file) {
if (in_array($file, $ignored)) continue;
$files[$file] = filemtime($dir . '/' . $file);
}
arsort($files);
$files = array_keys($files);
$length = count($files);
if($length < 4 ){
return;
}
for ($i = $length; $i > 4; $i--) {
echo "Erase : " .$dir.$files[$i];
unlink($dir.$files[$i]);
}
}