php 判断目录下是否有文件存在

今天在写上传图片作为封面的时候,为了避免重复的上传封面而导致,封面图片乱设置,就百度出了判断文件夹是否为空的代码.

  1. <?php
  2. $dir = opendir('1');
  3. $ml = 0;
  4. while (($file = readdir($dir)) !== false)
  5. { $cs = $ml++;
  6. if($cs == "2"){echo "有文件";}
  7. }
  8. closedir($dir);
  9. ?>

获取文件夹1的目录,因为函数会获取.和.. 本身和上级目录都显示出来,这样就循环成了1这样的结果也就是文件夹为空,如果循环到2的时候就会显示出目录下的文件.

例子代码如下:

  1. <?php
  2. function is_empty_dir($dir_path)
  3. {
  4. if (!is_dir($dir_path)){
  5. echo “文件夹不存在”;
  6. return true;//www.phpfensi.com
  7. }
  8. $dir = opendir($dir_path);
  9. $is_empty = true;
  10. while ($file = readdir($dir)){
  11. if($file == ‘.’ || $file == ‘..’) continue;
  12. $is_empty = false;
  13. break;
  14. }
  15. closedir($dir);
  16. return $is_empty;
  17. }
  18. ?>

例子代码如下:

  1. <?php
  2. $root = dirname(__FILE__);
  3. $root = str_replace("\", "/", $root);
  4. $path = $root.'/test/';
  5. $isempty = file_exit();
  6. //检查目录是否为空
  7. function file_exit($filelastname = ''){
  8. global $path;
  9. if($filelastname != ''){
  10. $handle = opendir($path.$filelastname);
  11. }else{
  12. $handle = opendir($path);
  13. }
  14. while (false !== ($file = readdir($handle))) {
  15. if($file == '.' || $file == '..'){
  16. continue;
  17. }
  18. $file_array[] = $file;
  19. }
  20. if($file_array == NULL){//没有文件
  21. closedir($handle);
  22. return false;
  23. }
  24. closedir($handle);
  25. return true;//有文件
  26. }
  27. ?>