TP5项目中模板文件html的更新及php写入、删除与复制文件的方法
admin
2023-06-17 13:41:55
0

项目是thinkphp5的,后台有一个,上传html模板代码的功能。

因为模板里,除了html代码外,还有,

{volist name="list" id="vo"}{/volist}

{$title}
php,js代码。

我是这样做的,先建一个template表。

CREATE TABLE hk_template
(
    id INT(10) PRIMARY KEY NOT NULL,
    name VARCHAR(30),
    content TEXT COMMENT 'markdown代码',
    content_html TEXT COMMENT 'html代码',
    filepath VARCHAR(255) COMMENT '所在位置,比如:application/index/view/special/detail.html',
    status TINYINT(1) DEFAULT '1' COMMENT '1启用,0不启用',
    create_time INT(10),
    update_time INT(10),
    create_uid INT(10),
    update_uid INT(10)
);


写入,用textarea框,将,代码全部写入到content中。

在写入成功后,再将content,的内容,

放在到模板文件中。

因为在/public/index.php中有定义APP_PATH,

// [ 应用入口文件 ]

// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
define('WEB_URL', 'http://'.$_SERVER['HTTP_HOST']);
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';

.edit方法如下:

public function edit($id){
    $template = model('Template');
    if(IS_POST){
        $data = $_POST;
        // 提交表單
        $result = $template->allowField(true)->save($data,['id'=>$data['id']]);
        if ($result) {
            // 目标文件: application/index/view/special/detail.html,替换里面的内容。
            //
            $filename = APP_PATH.'index/view/specail/detail.html';
            // chmod($filename, 777); //写这一句无权限修改,就只好在目录下手动修改了
            $file = fopen($filename, "w"); //以写模式打开文件
            fwrite($file, $data['content']); //写入第一行
            fclose($file); //关闭文件
            return $this->success("更新成功!", url('admin/template/index'));
        } else {
            return $this->error($template->getError(), url('admin/template/add'));
        }
    }else{
        // 單條記錄
        if(!$id){
            $this->error('非法操作');
        }
        $info = $template->where('id',$id)->find();
        if(!$info){
            return $this->error($template->getError());
        }
        $this->assign('info',$info);
        $this->setMeta('模板編輯');
        return $this->fetch();
    }
}



下面是转载自:

http://www.jb51.net/article/68202.htm


本文实例讲述了php写入、删除与复制文件的方法。分享给大家供大家参考。具体如下:


  1. 写入:


$filename = "Test//file.txt"; $file = fopen($filename, "w"); //以写模式打开文件 fwrite($file, "Hello, world!/n"); //写入第一行 fwrite($file, "This is a test!/n"); //写入第二行 fclose($file); //关闭文件 ?>


2. 删除:


$filename = "Test//file.txt"; unlink($filename); //删除文件 ?>


3.复制:


$filename1 = "Test//file.txt"; $filename2 = "Test//file.bak"; copy($filename1, $filename2); //复制文件 ?>

希望本文所述对大家的php程序设计有所帮助。


相关内容

热门资讯

清华大学教授吴华强称华为韬定律... 5 月 27 日消息,在 5 月 25 日召开的 2026 国际电路与系统研讨会上,。这是中国企业在...
2026年生物多样性保护和可持... 河南日报讯 (全媒体记者 吴倩 李世杰 通讯员 赵亚虹 史娆)5月22日是第26个国际生物多样性日。...
文润天山 豫疆同辉丨豫疆万里情 “辕门外三声炮如同雷震……”在新疆哈密市豫哈第三实验学校的教室里,稚嫩而清脆的童声每周都会准时响起。...
“日方想让中美俄都同意,难” 【文/观察者网 王一】联合国围绕《不扩散核武器条约》(NPT)未来走向的最新一轮审议会议日前无果而终...
国网河南电力牵头立项发布无人机... 如何让智慧城市、智慧社区中的能源管理系统安全规范运行?怎样更好保障无人机在智慧城市中规模化、智能化充...
130万条业主信息被倒卖 警方... 【大河财立方消息】公安部网安局5月27日消息,近日,四川成都网安部门重拳出击,成功破获一起特大侵犯公...
黄河科技学院参加第64届中国高... 5月22-24日,由中国高等教育学会主办的第64届中国高等教育博览会在南昌绿地国际博览中心举行。黄河...
千里姻缘“衣”线牵 安阳市北关区柏庄镇一家服装加工企业内,工人正在赶制服装订单。 张瞾 摄5月8日,浙江省湖州市吴兴区织...
拜登起诉美司法部 据彭博社、美国广播公司(ABC)等媒体报道,美国前总统拜登当地时间26日起诉美国司法部,以阻止官员们...
“河南造”再建功 神舟飞天背后... 河南日报讯 (全媒体记者 范坤鹏)5月24日23时08分,搭载神舟二十三号载人飞船的长征二号F遥二十...