TP5项目中模板文件html的更新及php写入、删除与复制文件的方法

项目是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. 写入:

<?php

$filename = "Test//file.txt";

$file = fopen($filename, "w"); //以写模式打开文件

fwrite($file, "Hello, world!/n"); //写入第一行

fwrite($file, "This is a test!/n"); //写入第二行

fclose($file); //关闭文件

?>

2. 删除:

<?php

$filename = "Test//file.txt";

unlink($filename); //删除文件

?>

3.复制:

<?php

$filename1 = "Test//file.txt";

$filename2 = "Test//file.bak";

copy($filename1, $filename2); //复制文件

?>

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

时间: 2024-10-05 04:44:57

TP5项目中模板文件html的更新及php写入、删除与复制文件的方法的相关文章

mysql insert插入时实现如果数据表中主键重复则更新,没有重复则插入的四种方法

[CSDN下载] Powerdesigner 设计主键code不能重复等问题 [CSDN博客] Oracle中用一个序列给两个表创建主键自增功能的后果 [CSDN博客] MySQL自增主键删除后重复问题 [CSDN博客] mysql 主从复制 双主从复制原理 防止主键重复问题(必看) [CSDN博客] replace into导致mysql自增列导致主键重复问题分析 [CSDN博客] 一个循环更新某库所有表所有非主键列的值方法(sql 2005 & mysql) [CSDN博客] mysql i

Python+Selenium进行UI自动化测试项目中,常用的小技巧3:写入excel表(python,xlsxwriter)

我们在项目中可能用到excel表生成,下面的代码就是对excel表的操作: 1 import xlsxwriter 2 import datetime 3 4 class write_excel(): 5 def __init__(self,path): 6 now = datetime.datetime.now() 7 fname = 'TestReport' + now.strftime("%Y-%m-%d") 8 self.row = 0 9 self.xl = xlsxwrit

iOS 获取沙盒文件路径及 写入/删除 沙盒文件

出于安全考虑,iOS系统的沙盒机制规定每个应用都只能访问当前沙盒目录下面的文件(也有例外,比如系统通讯录能在用户授权的情况下被第三方应用访问),这个规则把iOS系统的封闭性展现的淋漓尽致. 一.沙盒中几个主要的目录 每个沙盒下面都有相似的目录结构,如下图所示(出自苹果官方文档): 每个应用的沙盒目录都是相似的,主要包含图中所示的4个目录: 1.MyApp.app ①存放内容 该目录包含了应用程序本身的数据,包括资源文件和可执行文件等.程序启动以后,会根据需要从该目录中动态加载代码或资源到内存,这

C#File类常用的文件操作方法(创建、移动、删除、复制等)

File类,是一个静态类,主要是来提供一些函数库用的.静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和 打开一个文件. File类方法的参量很多时候都是路径path.File的一些方法可以返回FileStream和StreamWriter的对象.可以 和他们配套使用.System.IO.File类和System.IO.FileInfo类 主要提供有关文件的各种操作,在使用时需要引用System.IO命名空间. 一.File类常用的操作方法 1.创建文件方法 /

cocos2d-x项目中如何避免增加一个cpp就必须在工程android.mk文件去添加引用

LOCAL_SRC_FILES := hellocpp/main.cpp \       ../../Classes/AppDelegate.cpp \ ../../Classes/HelloWorldScene.cpp 只要把上面这些替换成下面的: SRC_FILES := hellocpp/main.cpp SRC_FILES += $(wildcard $(LOCAL_PATH)/../../Classes/*.cpp) SRC_FILES += $(wildcard $(LOCAL_PA

在ASP.NET MVC3项目中,自定义404错误页面

在Web开发中,用户体验是至关重要的,一个友好的网站自然少不了自定义404错误页面. 让笔者为大家介绍404错误页面在ASP.NET MVC3项目中的配置: 第一步,在项目的Web.config文件中找到节点<system.web> 在此节点下添加配置        <customErrors mode="On" defaultRedirect="~/Index/Error404">          <error statusCode

asp.net Web项目中使用Log4Net进行错误日志记录

使用log4net可以很方便地为应用添加日志功能.应用Log4net,开发者可以很精确地控制日志信息的输出,减少了多余信息,提高了日志记录性能.同时,通过外部配置文件,用户可以不用重新编译程序就能改变应用的日志行为,使得用户可以根据情况灵活地选择要记录的信息. 那么我们如何在Web项目中使用Log4Net呢? 一.基本配置 1.下载Log4Net,地址如下:http://logging.apache.org/log4net/download_log4net.cgi,如下图所示: 2.下载到本地后

类库(DLL)项目中引用WebService错误:找不到引用协定“Abcds.XXXXSoap”的默认终结点元素。解决办法

错误提示案例:在 ServiceModel 客户端配置部分中,找不到引用协定“PutMCCases.PutMCCasesSoap”的默认终结点元素.这可能是因为未找到应用程序的配置文件,或者是因为客户端元素中找不到与此协定匹配的终结点元素. 答疑如下: 类库项目中添加了WebService之后,会默认生成一个app.Config文件,里面是WebService的配置信息 假设我的文件内容如下: <?xml version="1.0" encoding="utf-8&qu

spring3.0结合Redis在项目中的运用

推荐一个程序员的论坛网站:http://ourcoders.com/home/ 以下内容使用到的技术有:Redis缓存.SpringMVC.Maven.项目中使用了redis缓存,目的是在业务场景中,提高SQL的查询效率,做出性能优化.先看pom.xml的配置文件中,Jedis是Redis的Java客户端,Jedis基本实现了Redis的所有功能.在使用的时候,我们创建一个Jedis对象,通过操作Jedis来操作Redis,实现我们的业务场景需求.项目中使用了Maven来托管,先看Jedis在p