本文分享的是PHP对TXT文件一些常用的操作功能,案例代码包括了对TXT文件的新建、替换、局部替换修改、内容追加、删除文件等一系列实用动作,本文分享的代码依然可以直接运用于PHP程序开发时对TXT文件的操作控制,用易用、便于理解的代码让PHP小白能够达到自己想要的效果!


一、新建controltxt.class.php

// 定义一个处理TXT文件的接口
interface TxtHandlerInterface {
   public function addTxt($file, $text);
   public function upAllTxt($file, $text);
   public function upTxt($file, $oldText, $text);
   public function upEndTxt($file, $end, $text);
   public function deTxt($file);
}
// 实现TxtHandlerInterface接口的TxtHandler
class TxtHandler implements TxtHandlerInterface {
   // 新建TXT文件
   public function addTxt($file, $text) {
       if (file_exists($file)) {
           return json_encode(array("code" => 500, "message" => "文件已存在!"));
       } else {
           $dir = dirname($file);
           if (!file_exists($dir)) {
               mkdir($dir, 0777, true);
           }
           file_put_contents($file, $text);
           return json_encode(array("code" => 200, "message" => "文件创建成功!"));
       }
   }
   // 替换TXT文件
   public function upAllTxt($file, $text) {
       if (file_exists($file)) {
           file_put_contents($file, $text);
           return json_encode(array("code" => 200, "message" => "文件替换成功!"));
       } else {
           return json_encode(array("code" => 500, "message" => "文件不存在!"));
       }
   }
   // 局部修改TXT文件
   public function upTxt($file, $oldText, $text) {
       if (file_exists($file)) {
           $fileContent = file_get_contents($file);
           $newContent = str_replace($oldText, $text, $fileContent);
           if ($newContent === $fileContent) {
               return json_encode(array("code" => 500, "message" => "未找到指定内容!"));
           } else {
               file_put_contents($file, $newContent);
               return json_encode(array("code" => 200, "message" => "文件修改成功!"));
           }
       } else {
           return json_encode(array("code" => 500, "message" => "文件不存在!"));
       }
   }
   // 追加TXT文件
   public function upEndTxt($file, $end, $text) {
       if (file_exists($file)) {
           $currentContent = file_get_contents($file);
           if ($end == 1) {
               $currentContent .= "\n" . $text;
           } else {
               $currentContent = $text . "\n" . $currentContent;
           }
           file_put_contents($file, $currentContent);
           return json_encode(array("code" => 200, "message" => "文件追加成功!"));
       } else {
           return json_encode(array("code" => 500, "message" => "文件不存在!"));
       }
   }
   // 删除TXT文件
   public function deTxt($file) {
       if (file_exists($file)) {
           unlink($file);
           return json_encode(array("code" => 200, "message" => "文件删除成功!"));
       } else {
           return json_encode(array("code" => 500, "message" => "文件不存在!"));
       }
   }
}

注释:这段PHP代码实现了一个TxtHandler类,实现了TxtHandlerInterface接口中定义的各种方法来处理TXT文件:新建文件、替换文件内容、局部修改文件内容、追加文件内容以及删除文件。注释部分详细描述了每个方法的功能和实现逻辑,方便理解和使用。这段PHP代码优化了返回的提示,使用json数据格式表示成功和失败,同时包含中文提示。不过,你仍然可以继续对以上代码进行优化来满足自己需求!

二、TxtHandler类的实例化使用

require 'controltxt.class.php';//引入核心代码
// 示例使用
$txtHandler = new TxtHandler();
// 创建新文件
echo $txtHandler->addTxt("test.txt", "Hello, World!");
// 替换文件内容
echo $txtHandler->upAllTxt("test.txt", "Goodbye, World!");
// 局部修改文件内容
echo $txtHandler->upTxt("test.txt", "Hello", "Hi");
// 在文件开头追加内容
echo $txtHandler->upEndTxt("test.txt", 0, "First Line");
// 在文件末尾追加内容
echo $txtHandler->upEndTxt("test.txt", 1, "Last Line");
// 删除文件
echo $txtHandler->deTxt("test.txt");

注释:

新建TXT文件:addTxt($file,$text),先检查$file是否存在,如果存在,则返回相关提示;如果不存在,则检查$file所在目录是否存在,如果目录不存在,则新建目录,并把$text写入$file文件。

替换TXT文件:upALLTxt($file,$text),先检查$file是否存在,如果存在,则把$text内容替换掉原内容;如果不存在,则返回相关提示。

局部修改TXT文件:upTxt($file,$oldtext,$text),先检查$file是否存在,如果存在,则在原文件中找到$oldtext,并把$oldtext替换为$text;如果文件不存在,则返回相关提示。

追加TXT文件:upEndTxt($file,$end,$text),先检查$file是否存在,如果存在, 当$end为0时,则在文件最前面另起一行追加$text,如果$end为1,则在文件最后另起一行追加$text。如果文件不存在,则返回相关提示。

删除TXT文件:deTxt($file),先检查$file是否存在,如果存在,则删除文件;如果文件不存在,返回提示!

三、TxtHandler类实用演示

//引入核心代码
require 'controltxt.class.php';
//定义文件名称
$filename = 'data/txt/' . time() . '.txt';
//定义最新文件内容
$text = '站长百科教程网是一个教站长怎么做网站的百科网站。本站为你解决建站程序或者建站过程中遭遇到的各种疑难杂症,站长百科教程网是你建站途中关于服务器选择、域名备案、网站运营、网站赚钱、SEO优化、建站程序等一系列问题的终极导师。';
//实例化使用
$txtHandler = new TxtHandler();
//新建TXT文件
$controltxt = json_decode($txtHandler->addTxt($filename, $text), true);
if ($controltxt['code'] == '200') {
   echo '文件:' . $filename . '新建成功!';
} else if ($controltxt['code'] == '500') {
   echo '文件:' . $filename . '新建失败;原因:' . $controltxt['message'];
}

注释:该代码演演示了利用TxtHandler类新建一个TXT文件,并把TxtHandler类返回的JSON数据转换成数组,对该步骤操作结果是成功与失败进行判断,并反馈到浏览器!该代码使用了json_decode()函数,目的是把json数据转换成数组,以便我们下一步使用。