PHP、thinkPHP5.0开发网站文件管理功能(三)编辑文件

public function edit(){    $file = iconv(‘UTF-8‘,‘GB2312‘,urldecode(input(‘file‘)));    if(empty($file)|| !file_exists($file)){        $this->error(‘操作异常‘);    }    $arr = [‘.PHP‘, ‘.CSS‘, ‘.JS‘, ‘.XML‘, ‘.HTML‘, ‘.HTACCESS‘,‘.TXT‘,‘.JSON‘];    $exc = strtoupper(substr($file,strrpos($file,‘.‘)));    if (!in_array($exc, $arr)) {        $this->error("该文件类型不支持编辑");    }    if(request()->isPost()){        $content = input(‘code‘);        //打开要编辑的文件        $fp = fopen($file,‘w‘);        //写入新内容        fwrite($fp,$content);        //关闭文件        fclose($fp);        $this->success(‘文件保存成功‘,‘file/index‘);    }    $code = htmlentities(file_get_contents($file),ENT_COMPAT,‘UTF-8‘);//获取文件的内容,把HTML转为实体内容输出把代码展示在页面    $this->assign(‘code‘,$code);    $this->assign(‘currfile‘,$file);    $this->assign(‘ext‘, $exc);    return view("file_edit");}前端编辑界面推荐使用codemirror插件,能显示行数和高亮代码



原文地址:https://www.cnblogs.com/YAN-HUA/p/9083719.html

时间: 2024-10-07 13:27:20

PHP、thinkPHP5.0开发网站文件管理功能(三)编辑文件的相关文章

thinkphp5.0开发规范

命名规范 ThinkPHP5遵循PSR-2命名规范和PSR-4自动加载规范,并且注意如下规范: 目录和文件 目录不强制规范,驼峰及小写+下划线模式均支持: 类库.函数文件统一以.php为后缀: 类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致: 类名和类文件名保持一致,统一采用驼峰法命名(首字母大写): 函数和类.属性命名 类的命名采用驼峰法,并且首字母大写,例如 User.UserType,默认不需要添加后缀,例如UserController应该直接命名为User: 函数的

基于Yii2.0开发RBAC权限功能

web.php的配置 'authManager' => [ 'class' => 'yii\rbac\DbManager', 'itemTable' => 'chat_auth_item', 'assignmentTable' => 'chat_auth_assignment', 'itemChildTable' => 'chat_auth_item_child', ], 2. Controller.php里需要添加 public function beforeAction(

MVC5 网站开发之八 栏目功能 添加、修改和删除

本次实现栏目的浏览.添加.修改和删除. 栏目一共有三种类型. 常规栏目-可以添加子栏目,也可以添加内容模型.当不选择内容模型时,不能添加内容. 单页栏目-栏目只有一个页面,可以设置视图. 链接栏目-栏目为一个链接,点击后转到相应链接. 在视图中原本栏目的树形显示插件使用Bootstrap TreeView 1.2.0(MVC5 网站开发之六 管理员 2.添加.删除.重置密码.修改密码.列表浏览),后来使用中发现zTree使用起来更习惯,所以更换成zTree了. 目录 MVC5网站开发之一 总体概

三维力控组态软件7.0 开发+运行 无限点 USB加密狗批发

三维力控组态软件7.0 开发+运行 无限点   USB加密狗 长期批发,量大价优,加税点可开正规机打发票 支持主流操作系统 ForceControl V7.0 是一个完全集成的工业控制软件产品,完全兼容微软的32/64位Windows 7及Windows Server 2008操作系统,通过提供可靠.灵活.高性能的监控系统平台,以及简单易用的配置工具和强大的功能使您能够针对各种规模的应用进行快速开发并部署. 丰富的图形处理能力 通过ForceControl V7.0提供的组态开发环境,系统集成工

独家全功能USB2.0开发板,最强CY7C68013A-128核心板,超强资料不断提供更新服务

       学习USB开发再也不用买书啦,也不用花费重金去上培训班啦,IFLabs开创USB学习开发新模式,你所需要的知识.技术.范例.代码等等统统都在这里.IFLabs打造全网最丰富.最权威的USB开发平台和资料. 热卖的IFLabs精品USB2.0核心板套件再升级,全网独家推出最强.最全功能的Cypress USB 2.0 CY7C68013A-128AXC核心板开发板,全网最全配件和全网最全开发资料.只需这一次投入,即可实现USB接口开发的从入门到精通!并且有长期的全网最全开发手册更新支

MVC5 网站开发之七 用户功能 1、角色的后台管理

角色是网站中都有的一个功能,用来区分用户的类型.划分用户的权限,这次实现角色列表浏览.角色添加.角色修改和角色删除. 目录 奔跑吧,代码小哥! MVC5网站开发之一 总体概述 MVC5 网站开发之二 创建项目 MVC5 网站开发之三 数据存储层功能实现 MVC5 网站开发之四 业务逻辑层的架构和基本功能 MVC5 网站开发之五 展示层架构 MVC5 网站开发之六 管理员 1.登录.验证和注销 MVC5 网站开发之六 管理员 2.添加.删除.重置密码.修改密码.列表浏览 MVC5 网站开发之七 用

2016年1月25日 《1024伐木累》-小白篇之开发网站,三天!(中篇-2奇怪的IE)-总章节十一

往期回顾:  老王的“先见之明”,解决了困扰耗仔三人的大难题.顺利安装完开发工具,大家投入紧张的工作.航空部领导的突然闯入,IE不兼容,页面错乱,摆在三人面前的形势依然严峻.第一次见这阵仗的耗仔,又会怎么办? 2016-02-01<1024伐木累>-小白篇之开发网站,三天!(中篇-2奇怪的IE) # region 总章节11 IE出了问题,来不及找原因,屋内就涌进一堆领导,你一言我一语,围着三人叽叽喳喳说个不停. 此时的耗仔头都大了,这到底是要干啥,刚开始没几个小时,再这么折腾下去,还怎么工作

解决.VS2012+EF5.0开发的网站在window server2003上无法部署的问题(转载)

转载:http://www.cnblogs.com/eggTwo/p/3653825.html (一)前  言                                                                    最近一个月使用VS2012(默认框架是.net framework4.5),EF5.0开发了一套基础框架.开发完成之后,准备部署到window server 2003(公司的外网服务器).却发现 window server 2003只支持.net fra

网站移动版本开发踩坑实录三

鉴于本人在移动wap上的开发经验少,遇到的问题确实不少,很多问题都是为了项目紧急上线而不得已的写临时性的fixed的方案,所以解决方法也存在缺陷,这次记录的虽然没有什么高大上的东西,把几个明显的问题和解决过程记录下来. 1.ios系统浏览器事件会触发两次 问题发现于ipad.iphone上,起初遇到这个问题本以为自己在绑定了两次事件(touchstart click),但是由于最新的ipad对click事件不支持以及为了防止重复绑定事件,因此我特意处理了关于touchstart和click做了一