首页 > 后端开发 > php教程 > 如下的代码,如何改成按文件名排序

如下的代码,如何改成按文件名排序

WBOY
发布: 2016-06-23 14:02:03
原创
1249 人浏览过

php

如下的代码,如何改成按文件名排序。下面的页面 list.php是可以列出c:\filelist里的文件,可以需要用文件名来排序,另外,想多加一个动作叫Open,是在浏览器打开文件,不是下载。谢谢!


error_reporting(0);
$basedir = "c:/filelist";
if(!is_dir($basedir)) $basedir = dirname(__FILE__);
$file_name = $_GET['downfile'];
if(!empty($file_name)){

$file_dir = $basedir . "/" . $file_name;

if(dirname(realpath($file_dir)) 
echo "Permission Denied!";

exit;

}

if (!file_exists($file_dir)) {

echo "File Not Found!";

exit;

} else {

$file = fopen($file_dir,"r");

Header("Content-type: application/octet-stream");

Header("Accept-Ranges: bytes");

Header("Accept-Length: ".filesize($file_dir));

Header("Content-Disposition: attachment; filename=" . $file_name);

echo fread($file,filesize($file_dir));

fclose($file);

exit;

}
}
header("Content-type: text/html; charset=utf-8");
$requestDir = $_GET['dir'];
if(empty($requestDir)){

$dir = $basedir;
}else{

$dir = $basedir . "/" . $requestDir;
}
$dir = realpath($dir);
if($dir  ?>



File Listing














File Listing

Sign Out





















$dirs=@opendir($dir);

$count = 0;

while($file=@readdir($dirs)) {

$b="$dir/$file";

$a=@is_dir($b);

if($a=="1"){

if($file!=".."&&$file!=".") {

if($count 
$count ++;

echo "\n";

echo "\n";

echo "\n";

}

echo "\n";

echo "\n";

echo "\n";

}

}

}

@closedir($dirs);

?>


$predir = realpath($dir . "/../");

if($predir > $basedir) $predir = str_replace($basedir . "/","",$predir);

if($predir == $basedir) $predir = ".";

if($dir > $basedir) echo "Up Level";

?>

Folder
 $basedir ? str_replace($basedir . "/",'',$dir . "/") : '') . urlencode($file)."\">$file




















$dirs=@opendir($dir);

while ($file=@readdir($dirs)) {

$b="$dir/$file";

$a=@is_dir($b);

if($a=="0"){

$size=@filesize("$dir/$file");

$size=$size/1024 ;

$size= @number_format($size,2);

$lastsave=@date("Y-n-d H:i:s",filemtime("$dir/$file"));

echo "\n";

echo "\n";

echo "\n";

echo "\n";

echo "\n";

echo "\n";

}

}

@closedir($dirs);

?>

Filename Date Size Action
$file $lastsave $size KB  $basedir ? str_replace($basedir . "/",'',$dir . "/") : '').urlencode($file)."\">Download




回复讨论(解决方案)

不用目录函数,改用 glob 函数。结果就是排序的
当然你也可以附加 GLOB_NOSORT 参数阻止这一行为

请问该改哪里? 如何改呢? 谢谢!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板