fileHelper.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. /**
  3. * Created by JetBrains PhpStorm.
  4. * User: dongyancen
  5. * Date: 13-10-11
  6. * Time: 下午5:31
  7. * To change this template use File | Settings | File Templates.
  8. *///获取两个目录下的相同路径的文件数
  9. function getSameFile($src, $test, $path=''){
  10. $result = array();
  11. $as = listFile($src.$path);
  12. $ts = listFile($test.$path);
  13. $ds = array_intersect($as, $ts);
  14. foreach($ds as $item){
  15. $si = $src.$path.$item;
  16. $ti = $test.$path.$item;
  17. if(is_dir($si) && is_dir($ti)){
  18. $result = array_merge($result, getSameFile($src, $test, $path.$item.'/'));
  19. }else if(is_file($si) && is_file($ti)){
  20. if(substr($si, -3) == '.js')
  21. array_push($result, $path.$item);
  22. }
  23. }
  24. return $result;
  25. }
  26. //获取只在src中存在的文件,防止遗漏用例
  27. function getSrcOnlyFile($src, $test, $path=''){
  28. $result = array();
  29. $as = listFile($src.$path);
  30. $ts = listFile($test.$path);
  31. foreach($as as $item){
  32. $si = $src.$path.$item;
  33. $ti = $test.$path.$item;
  34. if(is_dir($si) && is_dir($ti)){
  35. $result = array_merge($result, getSrcOnlyFile($src, $test, $path.$item.'/'));
  36. }else if(is_file($si) && !is_file($ti)){
  37. if(substr($si, -3) == '.js')
  38. array_push($result,$path.$item);
  39. }
  40. else{
  41. // print("error : $si");
  42. }
  43. }
  44. return $result;
  45. }
  46. function listFile($dir){
  47. $as = array();
  48. if($dh = opendir($dir)){
  49. while(($file = readdir($dh))!==false){
  50. if(substr(basename($file), 0, 1) == '.')
  51. continue;
  52. array_push($as, basename($file));
  53. }
  54. closedir($dh);
  55. }
  56. return $as;
  57. }