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