例如我在data文件夹里面有几个文件
tmp_1.txt
tmp_2.txt
tmp_3.txt
如此类推
如何利用php获取最后一个文件的文件名
例如最后一个文件是tmp_33.txt
那么如何自动获取这一个文件的文件名
.
第1个回答 2008-08-26
PHP 可以编列目录下的所有文件,代码如下:
$dir=opendir('.');
while($filename=readdir($dir));
closedir($dir);
这时候$filename就是最后一个文件名,但是你不敢保证操作系统按照你的顺序排列,不可以保证那就是你需要的文件名。
另外一个办法就是调用操作系统命令,获取最后一个文件名,例子程序如下:
<?php
$file=trim(`dir /b /on`);
$file=substr($file,strrpos($file,"\n")+1);
echo $file;
?>
但是最后的办法,是你的程序记录最后一个数字是多少,以后就可以直接获取文件。
$dir=opendir('.');
while($filename=readdir($dir));
closedir($dir);
这时候$filename就是最后一个文件名,但是你不敢保证操作系统按照你的顺序排列,不可以保证那就是你需要的文件名。
另外一个办法就是调用操作系统命令,获取最后一个文件名,例子程序如下:
<?php
$file=trim(`dir /b /on`);
$file=substr($file,strrpos($file,"\n")+1);
echo $file;
?>
但是最后的办法,是你的程序记录最后一个数字是多少,以后就可以直接获取文件。
第2个回答 2008-08-26
<?php
$path = "./";
$pre = "tmp_";
$suffix = ".txt";
$read = dir($path);
$numbers = array();
while(($entry = $read->read()) !== false) {
if(!is_dir($path.$entry) && preg_match("/^$pre(\d+)$suffix$/", $entry, $index)) {
$numbers[] = $index[1];
}
}
rsort($numbers);
echo $numbers ? $numbers[0] : "文件不存在";
?>本回答被提问者采纳
$path = "./";
$pre = "tmp_";
$suffix = ".txt";
$read = dir($path);
$numbers = array();
while(($entry = $read->read()) !== false) {
if(!is_dir($path.$entry) && preg_match("/^$pre(\d+)$suffix$/", $entry, $index)) {
$numbers[] = $index[1];
}
}
rsort($numbers);
echo $numbers ? $numbers[0] : "文件不存在";
?>本回答被提问者采纳