PHP - 检查文件夹中是否存在文件

时间:2010-11-15 18:56:37

标签: php

我想检查服务器上的文件夹中是否有任何图像。我在PHP中有这个小功能但是没有用,我不知道为什么:

$path = 'folder/'.$id;
function check($path) {
    if ($handle = opendir($path)) {
        $array = array();
        while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != ".." && count > 2) {
                echo "folder not empty";
            } else {
                echo "folder empty";
            }
        }
    }
    closedir($handle);
}

任何帮助将不胜感激,提前谢谢。

4 个答案:

答案 0 :(得分:5)

它不起作用,因为count来自哪儿。试试这个:

$path = 'folder/'.$id;
function check($path) {
    $files = glob($path.'/*');
    echo empty($files) ? "$path is empty" : "$path is not empty";
}

答案 1 :(得分:1)

尝试此功能:http://www.php.net/glob

答案 2 :(得分:1)

Step 1: $query = select * from your_table where id=$id;
Step 2: $path=$query['path_column'];
Step 3: if($path!=null&&file_exit($path)&&$dir=opendir($path)){
           while (($file = readdir($dir )) !== false)
            {
                if ($file == '.' || $file == '..') 
                {
                    continue;
                }
                if($file) // file get 
                { 
                    $allowedExts = array("jpg");
                    $extension = pathinfo($file, PATHINFO_EXTENSION);
                    if(in_array($extension, $allowedExts))
                    $file[]=$file;
                }
                $data[file_name'] = $file;
            }
             closedir($dir);
        }

答案 3 :(得分:0)

试试这个:

$path = 'folder/'.$id;
function check($path) {
    if (is_dir($path)) {
        $contents = scandir($path);
        if(count($contents) > 2) {
            echo "folder not empty";
        } else {
            echo "folder empty";
        }
    }
    closedir($handle);
}

计算路径的内容。如果有两个以上的项目,那么它不是空的。我们忽略的两个项目是"。"和" .."。