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

简介:

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

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

1
2
3
{volist name= "list"  id= "vo" }{/volist}
 
{ $title }
1
php,js代码。

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

1
2
3
4
5
6
7
8
9
10
11
12
13
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,

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

.edit方法如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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程序设计有所帮助。



     本文转自phpervip 51CTO博客,原文链接:http://blog.51cto.com/phpervip/1933026,如需转载请自行联系原作者



相关文章
|
1月前
|
缓存 前端开发 API
PHP 适合做什么类型的项目
【8月更文挑战第4天】PHP 适合做什么类型的项目
37 4
|
19天前
|
关系型数据库 MySQL 应用服务中间件
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
这篇文章介绍了如何在Windows 7系统上搭建PHP、MySQL和Apache环境,并部署ECShop项目,包括安装配置步骤、解决常见问题以及使用XAMPP集成环境的替代方案。
34 1
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
|
25天前
|
缓存 Java 应用服务中间件
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
这篇文章详细介绍了在SpringMVC中创建JSP页面的全过程,包括项目的创建、配置、Tomcat的设置,以及如何实现页面跳转和配置模板解析器,最后还对比了JSP和HTML模板解析的差异。
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
|
8天前
|
开发框架 前端开发 中间件
开源PHP项目
【9月更文挑战第2天】开源PHP项目
21 4
|
14天前
写一个HTML文件
【8月更文挑战第27天】写一个HTML文件。
22 1
|
17天前
|
存储 关系型数据库 Linux
【Azure 应用服务】App Service For Linux 部署PHP Laravel 项目,如何修改首页路径为 wwwroot\public\index.php
【Azure 应用服务】App Service For Linux 部署PHP Laravel 项目,如何修改首页路径为 wwwroot\public\index.php
|
17天前
【Azure 应用服务】部署Azure Web App时,是否可以替换hostingstart.html文件呢?
【Azure 应用服务】部署Azure Web App时,是否可以替换hostingstart.html文件呢?
|
1月前
|
关系型数据库 Linux 网络安全
"Linux系统实战:从零开始部署Apache+PHP Web项目,轻松搭建您的在线应用"
【8月更文挑战第9天】Linux作为服务器操作系统,凭借其稳定性和安全性成为部署Web项目的优选平台。本文以Apache Web服务器和PHP项目为例,介绍部署流程。首先,通过包管理器安装Apache与PHP;接着创建项目目录,并上传项目文件至该目录;根据需要配置Apache虚拟主机;最后重启Apache服务并测试项目。确保防火墙允许HTTP流量,正确配置数据库连接,并定期更新系统以维持安全。随着项目复杂度提升,进一步学习高级配置将变得必要。
58 0
|
2月前
|
前端开发 JavaScript
文本,wangEditor5展示HTML无样式,wangEditor5如何看源码,Ctrl + U看CSS文件,代码高亮,Prism.js可以实现,解决方法,参考网页源代码的写法
文本,wangEditor5展示HTML无样式,wangEditor5如何看源码,Ctrl + U看CSS文件,代码高亮,Prism.js可以实现,解决方法,参考网页源代码的写法
|
3月前
|
JavaScript 前端开发 API
探讨JavaScript动态添加HTML文件的技术
探讨JavaScript动态添加HTML文件的技术
38 1
下一篇
DDNS