21,887
社区成员
发帖
与我相关
我的任务
分享
<?php
$opts = "";
$files = array();
$cmdname = array_shift($argv);
$dir = "./";
foreach ($argv as $arg) {
if (strlen($arg) == 0) continue;
if ($arg{0} == '-') //{}を文字列を呼び出す
$opts .=substr($arg, 1);
else
$files[] = $arg;
}
if (strlen($opts) > 0) {
if ($opts{0} == 'a'){
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if (filetype($file ) == 'file'){
echo "filename: $file : filetype: " . filetype($file) . "\n";
}
}
closedir($dh);
}
}
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if (filetype($file ) == 'dir'){
echo "filename: $file : filetype: " . filetype($file) . "\n";
}
}
closedir($dh);
}
}
}
}
elseif(strlen($opts) == 0){
if(count($files) == 0){
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if ($file{0} !== '.' && filetype($file ) == 'file'){
echo "filename: $file : filetype: " . filetype($file) . "\n";
}
}
}
}
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if ($file{0} !== '.' && filetype($file ) == 'dir'){
echo "filename: $file : filetype: " . filetype($file) . "\n";
}
}
}
}
}
}
if (count($files) > 0){
foreach ($files as $file){
if (filetype($file ) == 'dir'){
$dir = "$file/";
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {//为何加入if (filetype($file ) == 'file')的语句就执行不了了呢?如果我只要输出dir型的文件该如何做呢? echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
}
closedir($dh);
}
}
}
elseif(filetype($file ) == 'file'){
print "$file\n";
}
}
}
?>
function get_file_count($dir_name) {
static $array;
$arr = scandir($dir_name);
while (list($key, $value)=each($arr)) {
if (($value == '.') || ($value == '..')) {
continue;
}
$path=$dir_name.'/'.$value;
if (is_dir($path)) {
(filetype($path))?$ftype=filetype($path):null;
($ftype==null)?null:$array[$path]=$ftype;
get_file_count($path);
}
}
return $array;
}
echo "<pre/>";
print_r(get_file_count("/"));
while (($file = readdir($dh)) !== false) {
echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
}
while (($file = readdir($dh)) !== false) {
$fileName ="$file/".$file;
if(filetype($fileName)=='dir') echo $file;
}