php 替换目录下文件指定内容

在php中目录访问需要遍历了然后文件需要一个个打开进行访问操作了,下面我们来看一段php 替换目录下文件指定内容,具体如下:

  1. /****************************
  2. * 获取目录下的所有文件
  3. * [$dir] 文件夹路径
  4. ****************************/
  5. function deepScanDir($dir) {
  6. $fileArr = array ();
  7. $dirArr = array ();
  8. $dir = rtrim($dir, '//');
  9. if (is_dir($dir)) {
  10. $dirHandle = opendir($dir);
  11. while (false !== ($fileName = readdir($dirHandle))) {
  12. $subFile = $dir . DIRECTORY_SEPARATOR . $fileName;
  13. if (is_file($subFile)) {
  14. $fileArr[] = $subFile;
  15. }
  16. elseif (is_dir($subFile) && str_replace('.', '', $fileName) != '') {
  17. $dirArr[] = $subFile;
  18. $arr = $this->deepScanDir($subFile);
  19. $dirArr = array_merge($dirArr, $arr['dir']);
  20. $fileArr = array_merge($fileArr, $arr['file']);
  21. }
  22. }
  23. closedir($dirHandle);
  24. }
  25. return array (
  26. 'dir' => $dirArr,
  27. 'file' => $fileArr
  28. );
  29. }
  30. /*
  31. * 替换成APP中可用的路径,在web文件夹中
  32. */
  33. public function ok_web(){
  34. //查找字符
  35. $yuanlai = array(
  36. '"/resources/',
  37. '"/uploads/',
  38. '"/web/',
  39. 'href="/"',
  40. '/web',
  41. 'typedir+\'/\'+v.aid+"',
  42. 'v.litpic',
  43. );
  44. //替换字符
  45. $tihuan = array(
  46. '"../resources/',
  47. '"../uploads/',
  48. '"',
  49. 'href="../index.html"',
  50. '',
  51. 'v.aid+"',
  52. '".."+v.litpic'
  53. );
  54. //查找的文件夹
  55. $dir = WEBROOT.'/app/web';
  56. //获取文件
  57. $dirs = $this->deepScanDir($dir);
  58. //文件字符串替换
  59. foreach($dirs['file'] as $file){
  60. $file = 'G:\hospital\hospital\admin/app/web\yiyuanzhuanjia.html'; //phpfensi.com
  61. $txt = file_get_contents($file);
  62. $txt = str_replace($yuanlai,$tihuan,$txt);
  63. file_put_contents($file,$txt);echo $txt;exit;
  64. }
  65. }