Php 按上次修改日期对文件排序,获取文件名(不是绝对路径)
我想从目录中获取所有文件名,并按上次修改日期排序。 我在谷歌上搜索了很多答案,所以我从中选了一个 我可以得到正确的文件名 来自“天生的失败者”的想法Php 按上次修改日期对文件排序,获取文件名(不是绝对路径),php,Php,我想从目录中获取所有文件名,并按上次修改日期排序。 我在谷歌上搜索了很多答案,所以我从中选了一个 我可以得到正确的文件名 来自“天生的失败者”的想法 <?php $files = array(); $dir = getcwd(); $dir = dirname($dir); //get Parent directory $dir .= "/XMLdata/*.xml"; $files = glob($dir); usort($files, function($a, $b) {
<?php
$files = array();
$dir = getcwd();
$dir = dirname($dir); //get Parent directory
$dir .= "/XMLdata/*.xml";
$files = glob($dir);
usort($files, function($a, $b) {
return filemtime($b) < filemtime($a);
});
foreach($files as &$value)
{
$value = substr($value,strrpos($value,'/')+1);
}
header('Content-type: application/json');
echo json_encode($files);
?>
对不起-是的,数组$files将在目录中包含文件名。/
for ($i = 0; $i < sizeof($files); $i++) {
echo $files[$i];
}
for($i=0;$i
将返回所有文件名-您只需在排序时使用filemtime函数即可
(这是关于你链接到的问题的第一个答案)何必费心。。
我就是这么做的:
$i = strrpos($_SERVER['PHP_SELF'],'/');
define('URLBASE', substr($_SERVER['PHP_SELF'],0,$i+1));
如果您可以确定找到“/”:
$sFile = substr($sPath,strrpos($sPath,'/')+1);
是的,我从那里得到了答案,因为我说我可以使用如下函数:array=path.split(“/”);数组[array.length-1];获取文件名,但我认为这不是一个好方法抱歉-是的,数组$files将在目录中包含文件名。/谢谢,实际上,我尝试了第一个,但没有得到结果。我认为在ksort之后,我们可以得到按日期排序的数组,谢谢,但是我不知道如何添加代码行。在处理每个绝对路径之后,我可以得到正确的文件名。谢谢,我使用foreach($files as&$value){$value=substr($value,strrpos($value,'/')+1);}。太好了:-)我还不知道foreach语句中引用的诀窍。谢谢:-)
$i = strrpos($_SERVER['PHP_SELF'],'/');
define('URLBASE', substr($_SERVER['PHP_SELF'],0,$i+1));
$sFile = substr($sPath,strrpos($sPath,'/')+1);