PHP面向对象:PHP如何新建、修改、追加、删除TXT文件?

admin 2024-04-21 408 阅读 0评论

本文分享的是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数据转换成数组,以便我们下一步使用。


发表评论

快捷回复: 表情:
aoman baiyan bishi bizui cahan ciya dabing daku deyi doge fadai fanu fendou ganga guzhang haixiu hanxiao zuohengheng zhuakuang zhouma zhemo zhayanjian zaijian yun youhengheng yiwen yinxian xu xieyanxiao xiaoku xiaojiujie xia wunai wozuimei weixiao weiqu tuosai tu touxiao tiaopi shui se saorao qiudale qinqin qiaoda piezui penxue nanguo liulei liuhan lenghan leiben kun kuaikule ku koubi kelian keai jingya jingxi jingkong jie huaixiao haqian aini OK qiang quantou shengli woshou gouyin baoquan aixin bangbangtang xiaoyanger xigua hexie pijiu lanqiu juhua hecai haobang caidao baojin chi dan kulou shuai shouqiang yangtuo youling
提交
评论列表 (有 0 条评论, 408人围观)

最近发表

热门文章

最新留言

热门推荐

标签列表