php 全文搜索和替换的实现代码

yipeiwu_com6年前PHP代码库
<?php 
exec("/bin/grep -r '$oldword' $rootpath", $results, $errorCode); 
if ($errorCode){ 
if ($errorCode == 1){ 
echo "Possibly no files were found with ?$oldword in them<BR>\n"; 

echo "OS Error: $errorCode<BR>\n"; 
echo "Check 'man errno' and count down<BR>\n"; 
echo "Usually paths/permissions<BR>\n"; 

while (list(,$path) = each($results)){ 
$parts = explode(':', $path); 
$path = $parts[0]; 
$fp = fopen($path, 'r') or print("Cannot read $path<BR>\n"); 
if ($fp){ 
$data = fread($fp, filesize($path)); 
fclose($fp); 
$newdata = str_replace($oldword, $newword, $data); 
$fp = fopen($path, 'w') or print("Cannot write $path<BR>\n"); 
if ($fp){ 
fwrite($fp, $newdata); 
fclose($fp); 
echo $path, "<BR>\n"; 



?> 

相关文章

PHP数组式访问接口ArrayAccess用法分析

本文实例讲述了PHP数组式访问接口ArrayAccess用法。分享给大家供大家参考,具体如下: PHP  ArrayAccess接口又叫数组式访问接口,该接口的作用是提供像访问...

PHP入门教程之面向对象基本概念实例分析

本文实例讲述了PHP面向对象基本概念。分享给大家供大家参考,具体如下: Demo1.php <?php //怎样去创建一个类 格式:修饰符 class 类名{}...

Laravel 5.3 学习笔记之 错误&日志

1、简介 Laravel默认已经为我们配置好了错误和异常处理,我们在App\Exceptions\Handler类中触发异常并将响应返回给用户。本教程我们将深入探讨这个类。 此外,La...

php修改文件上传限制方法汇总

PHP默认的上传限定是最大2M,想上传超过此设定的文件,需要调整PHP、apache等的一些参数。下面,我们简要介绍一下PHP文件上传涉及到的一些参数: file_uploads :是否...

php zend 相对路径问题

<?php define ('P_S', PATH_SEPARATOR); define ('ROOT', "../"); set_include_path(ROOT .P_S ....