Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php scandir按文件日期排序_Php - Fatal编程技术网

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]);
     }
}