后台批量操作bug修复

内核更新
This commit is contained in:
2016-07-11 12:03:55 +08:00
parent 195ec9417c
commit 6460d64ceb
19 changed files with 119 additions and 128 deletions

View File

@@ -138,6 +138,7 @@ class Base extends \think\Controller{
//request信息
protected function requestInfo(){
$this->request = \think\Request::instance();
$this->param = $this->request->param();
defined('MODULE_NAME') or define('MODULE_NAME', $this->request->module());
defined('CONTROLLER_NAME') or define('CONTROLLER_NAME', $this->request->controller());
defined('ACTION_NAME') or define('ACTION_NAME', $this->request->action());
@@ -145,5 +146,6 @@ class Base extends \think\Controller{
defined('IS_GET') or define('IS_GET', $this->request->isGet());
$this->url = $this->request->module() . '/' . $this->request->controller() . '/' . $this->request->action();
$this->assign('request',$this->request);
$this->assign('param',$this->param);
}
}

View File

@@ -14,14 +14,16 @@ class Upload {
public function upload(){
$upload_type = input('get.filename','images','trim');
$config = $this->$upload_type();
$upload = new \org\Upload($config, $config['driver']);
$info = $upload->upload($_FILES);
if (false !== $info) {
$fileinfo = $this->save($config, $upload_type, $info['file']);
$return['info'] = $fileinfo;
// 获取表单上传文件 例如上传了001.jpg
$file = request()->file('file');
$info = $file->move($config['rootPath'], true, false);
if($info){
$return['status'] = 1;
$return['info'] = $this->save($config, $upload_type, $info);
}else{
$return['status'] = 0;
$return['info'] = $upload->getError();
$return['info'] = $file->getError();
}
echo json_encode($return);
@@ -68,20 +70,10 @@ class Upload {
* @access public
*/
public function save($config, $type, $file){
$file = $this->parse_file($file);
$file['status'] = 1;
if ($type == 'images') {
$dbname = 'picture';
$file['path'] = substr($config['rootPath'], 1).$file['savepath'].$file['savename']; //
}else{
$dbname = 'file';
$file['url'] = substr($config['rootPath'], 1).$file['savepath'].$file['savename'];
}
$data = db($dbname)->where(array('md5'=>$file['md5']))->find();
if (!empty($data)) {
return $data;
}else{
$id = db($dbname)->insertGetId($file);
}
$dbname = ($type == 'images') ? 'picture' : 'file';
$id = db($dbname)->insertGetId($file);
if ($id) {
$data = db($dbname)->where(array('id'=>$id))->find();
@@ -119,4 +111,24 @@ class Upload {
return false;
}
}
protected function parse_file($info){
$data['create_time'] = $info->getATime(); //最后访问时间
$data['savename'] = $info->getBasename(); //获取无路径的basename
$data['c_time'] = $info->getCTime(); //获取inode修改时间
$data['ext'] = $info->getExtension(); //文件扩展名
$data['name'] = $info->getFilename(); //获取文件名
$data['m_time'] = $info->getMTime(); //获取最后修改时间
$data['owner'] = $info->getOwner(); //文件拥有者
$data['savepath'] = $info->getPath(); //不带文件名的文件路径
$data['url'] = $data['path'] = substr($info->getPathname(), 1); //全路径
$data['size'] = $info->getSize(); //文件大小,单位字节
$data['is_file'] = $info->isFile(); //是否是文件
$data['is_execut'] = $info->isExecutable(); //是否可执行
$data['is_readable'] = $info->isReadable(); //是否可读
$data['is_writable'] = $info->isWritable(); //是否可写
$data['md5'] = md5_file($info->getPathname());
$data['sha1'] = sha1_file($info->getPathname());
return $data;
}
}