php怎麼把多個php檔案的內容寫到一個檔案中

來源:互聯網
上載者:User
php如何把多個php檔案的內容寫到一個檔案中
這些緩衝php檔案都放在cache目錄下如:
a.php
b.php
c.php

這些php檔案中的內容都是一些快取資料,我儲存的時候都是以數組形式寫入:
如:a.php檔案
$aArr=array (
'aaa' => '111',
'bbb' => '222',
'ccc' => '3333',
);
?>

如:b.php檔案
$bArr=array (
'aaa' => '111',
'bbb' => '222',
'ccc' => '3333',
);
?>

如:c.php檔案
$cArr=array (
'aaa' => '111',
'bbb' => '222',
'ccc' => '3333',
);
?>

現在想把這個目錄下的所有php檔案寫到一個php中
下面是我寫的代碼,但是寫入檔案後,發現把以後檔案php標識也寫進來了,把我把快取檔案的數組格式也轉義
大師怎麼怎麼修改一下,



//建立緩衝目錄
$dir="cache";
[email protected]($dir);
if(!$fileDir){
echo '開啟目錄失敗';
exit;
}
while(false!==([email protected]($fileDir))){
//跳過本目錄以及上級目錄
if ('.' === $file || '..' === $file) continue;
//擷取檔案尾碼
$filetype=substr($file,strripos($file,".")+1);
//檔案路徑
$filepath=$dir.'/'.$file;
//判斷是不是php檔案,並判斷是否存在
if($filetype=='php' && is_file($filepath)){
$handle = fopen($filepath,"r");
$contents.= fread($handle,filesize($filepath));
fclose($handle);
}
}
write('data.php',"");

------解決思路----------------------
過濾PHP標識可以這樣
第18行改為:
$contents.= rtrim(ltrim(fread($handle,filesize($v)),'');


轉義是因為var_export這個函數吧。
------解決思路----------------------
過濾掉 是不必要的,有時反而會出錯(假如資料中就有呢)
$dir = "cache";
$out = 'data.php';
file_put_contents($out);
foreach(glob("$dir/*.php") as $fn) {
file_put_contents($out, file_get_contents($fn), FILE_APPEND);
}

------解決思路----------------------

//擷取檔案尾碼 並確定是否為php尾碼
if(substr($file, -4)== '.php'){
.........
}


我覺得定義一個類 然後抓取資料的就好了,其實沒多複雜
------解決思路----------------------
str_replace 先把PHP標識替換為空白,之後就簡單了
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.