6
A
回答
22
foreach (glob("path/to/files/*.txt") as $filename)
{
$file = file_get_contents($filename);
file_put_contents($filename, preg_replace("/regexhere/","replacement",$file));
}
2
所以我最近碰到了,我們的虛擬主機的PHP 5.2轉換爲5.3,並在這個過程中它打破了我們的Magento的安裝問題。我做了一些個人建議的調整,但發現還有一些破碎的區域。我意識到大部分問題都與Magento中存在的「toString」函數和現在不贊成使用的PHP分割函數有關。看到這一點,我決定嘗試創建一些代碼來查找和替換所有不同功能的實例。我成功地創造了這個功能,但不幸的是,這種射擊方式並不奏效。之後我仍然有錯誤。也就是說,我覺得代碼有很大的潛力,我想發佈我想出來的東西。
雖然請謹慎使用。我建議您壓縮文件的副本,以便您可以從備份中恢復,如果您有任何問題。
另外,您不一定要按原樣使用它。我提供的代碼作爲例子。您可能會想要更改被替換的內容。
代碼的工作方式是它可以找到並替換它放入的文件夾和子文件夾中的內容。我調整了它,以便它只會查找擴展名爲PHP的文件,但您可以根據需要更改它。在搜索時,它會列出它更改的文件。要使用此代碼,請將其保存爲「ChangePHPText.php」並將該文件上傳到需要進行更改的任何位置。然後您可以通過加載與該名稱關聯的頁面來運行它。例如,mywebsite.com \ ChangePHPText.php。
<?php
## Function toString to invoke and split to explode
function FixPHPText($dir = "./"){
$d = new RecursiveDirectoryIterator($dir);
foreach(new RecursiveIteratorIterator($d, 1) as $path){
if(is_file($path) && substr($path, -3)=='php' && substr($path, -17) != 'ChangePHPText.php'){
$orig_file = file_get_contents($path);
$new_file = str_replace("toString(", "invoke(",$orig_file);
$new_file = str_replace(" split(", " preg_split(",$new_file);
$new_file = str_replace("(split(", "(preg_split(",$new_file);
if($orig_file != $new_file){
file_put_contents($path, $new_file);
echo "$path updated<br/>";
}
}
}
}
echo "----------------------- PHP Text Fix START -------------------------<br/>";
$start = (float) array_sum(explode(' ',microtime()));
echo "<br/>*************** Updating PHP Files ***************<br/>";
echo "Changing all PHP containing toString to invoke and split to explode<br/>";
FixPHPText(".");
$end = (float) array_sum(explode(' ',microtime()));
echo "<br/>------------------- PHP Text Fix COMPLETED in:". sprintf("%.4f", ($end-$start))." seconds ------------------<br/>";
?>
相關問題
- 1. 查找和替換文件
- 2. 查找和替換XML文件中的多個字符串
- 3. 查找並替換文件夾中的多個文本文件
- 4. 如何在xml文件中查找/替換多個字符串?
- 5. 在多個文件中查找並替換SSH命令?
- 6. 在多個xml文件中查找替換的自動化
- 7. 在多個文件中查找並替換
- 8. 查找和文本文件替換
- 9. 查找和替換多個表達式
- 10. 查找並替換多個文件中的文本
- 11. 如何在Xcode中使用查找和替換替換多行新行在Xcode中使用查找和替換
- 12. 查找多個文件中的下一個單詞並替換
- 13. Windows中的批處理文件任務 - 查找和替換多個文件
- 14. 多個條件查找並替換
- 15. 在C文件中查找並替換
- 16. 在大文件中查找並替換
- 17. tcl在文件中查找並替換
- 18. 在文件名中查找並替換
- 19. 查找和替換文本
- 20. mySQL,查找和替換,在一個表中查找並替換爲另一個
- 21. excel - 從單元格值中查找和替換多個文本
- 22. Phyloxml:查找和替換文件
- 23. SED查找和替換 - MapReduce文件
- 24. 遞歸查找和替換文件
- 25. 查找和替換XML文件
- 26. 查找和sed:如何替換文件?
- 27. 查找,重命名和替換文件
- 28. 使用sh文件查找和替換
- 29. 批量查找和替換PHP文件
- 30. 查找和替換在多行