<?php
// +----------------------------------------------------------------------
// | 奇乐自媒体内容管理系统 免费版 2019
// +----------------------------------------------------------------------
// | 官方网址：http://www.qilecms.com
// +----------------------------------------------------------------------
// | 官方论坛：http://bbs.qilecms.com
// +----------------------------------------------------------------------
// | Author:奇乐网络
// +----------------------------------------------------------------------
// | 版权说明：本产品为免费版，使用请保留底部版权
// +----------------------------------------------------------------------
namespace app\ajax\controller;
class Upload extends Base
{
  public function initialize()
    {

        parent::initialize();
        // 下面防当前初始化内容
            
     }
 public function images(){
 //判断请求是否正确
    if(!$this->request->file('images')){ return error_json('图片上传接口：请求参数错误');}
    $settings = $this->settings;
    // 获取表单上传文件 例如上传了001.jpg
    $files = $this->request->file('images');
    // 移动到框架应用根目录/uploads/ 目录下


    $images_path = !empty($settings['attachments']['images_path'])?$settings['attachments']['images_path']:config('app.upload_images.path');
    $images_ext  = !empty($settings['attachments']['images_ext'])?$settings['attachments']['images_ext']:config('app.upload_images.ext');
    $images_size = !empty($settings['attachments']['images_size'])?$settings['attachments']['images_size']:config('app.upload_images.size');

    foreach($files as $file){
          
          $info = $file->validate(['size'=> $images_size,'ext'=>$images_ext])->move(QL_ROOT.$images_path);
        if($info){
           $images =  $file->getInfo('images');

            // 成功上传后 获取上传信息
            // 输出 jpg
            // echo $info->getExtension();
            // // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
            // echo $info->getSaveName();
            // // 输出 42a79759f284b767dfcb2a0197904287.jpg
            // echo $info->getFilename(); 
           //添加图片记录
            $data = ['name'=>$images['name'],
            'save_name'=> $info->getFilename(),
           'save_path'=> $images_path.$info->getSaveName(),
            'ext'  => $info->getExtension(),
            'type' => $images['type'],
            'size' => $images['size'],
            'md5' => $info->md5(),
            'sha1'=>$info->sha1(),
            'create_time'=>time()
            ];
            // model('file')->addData($data);
        // $image = \think\Image::open('./image.png');
        // // 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.png
        // $image->thumb(150, 150)->save('./thumb.png');

               return success_json('上传成功','/'.trim($images_path,'/').'/'.str_replace('\\','/',$info->getSaveName()));
        }else{
            // 上传失败获取错误信息
               return error_json($file->getError());
        }

    }


 }


 public function videos(){
   if(!$this->request->file('videos')){ return error_json('视频上传接口：请求参数错误');}
    $settings = $this->settings;
    // 获取表单上传文件 例如上传了001.jpg
    $files = $this->request->file('videos');
    // 移动到框架应用根目录/uploads/ 目录下
    // print_r($files);
    $videos_path = !empty($settings['attachments']['videos_path'])?$settings['attachments']['videos_path']:config('app.upload_videos.path');
    $videos_ext = !empty($settings['attachments']['videos_ext'])?$settings['attachments']['videos_ext']:config('app.upload_videos.ext');
    $videos_size = !empty($settings['attachments']['videos_size'])?$settings['attachments']['videos_size']:config('app.upload_videos.size');

    foreach($files as $file){
          $info = $file->validate(['size'=> $videos_size,'ext'=>$videos_ext])->move(QL_ROOT.$videos_path);
        if($info){
           $videos =  $file->getInfo('videos');
            // 成功上传后 获取上传信息
            // 输出 jpg
            // echo $info->getExtension();
            // // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
            // echo $info->getSaveName();
            // // 输出 42a79759f284b767dfcb2a0197904287.jpg
            // echo $info->getFilename(); 
           //添加视频记录
            // $data = ['name'=>$videos['name'],
                // 'save_path'=> $videos_path.$info->getSaveName(),
            // 'save_path'=>$info->getSaveName(),
            // 'ext'=>$info->getExtension(),
            // 'type'=>$videos['type'],
            // 'size'=>$videos['size'],
            // 'md5'=>$info->md5(),
            // 'sha1'=>$info->sha1(),
            // 'create_time'=>time()
            // ];
            //  model('file')->addData($data);
             return success_json('上传成功','/'.trim($videos_path,'/').'/'.str_replace('\\','/',$info->getSaveName()));
        }else{
            // 上传失败获取错误信息
             return error_json($file->getError());
        }

    }


 }

//上传文件
 public function files(){
    if(!$this->request->file('files')){ return error_json('文件上传接口：请求参数错误');}
    $settings = $this->settings;
    // 获取表单上传文件 例如上传了001.jpg
    $files = $this->request->file('files');
    // 移动到框架应用根目录/uploads/ 目录下
  
    $files_path = !empty($settings['attachments']['files_path'])?$settings['attachments']['files_path']:config('app.upload_files.path');
    $files_ext = !empty($settings['attachments']['files_ext'])?$settings['attachments']['files_ext']:config('app.upload_files.ext');
    $files_size = !empty($settings['attachments']['files_size'])?$settings['attachments']['files_size']:config('app.upload_videos.size');

    foreach($files as $file){
          $info = $file->validate(['size'=> $files_size,'ext'=>$files_ext])->move(QL_ROOT.$files_path);
        if($info){
           $files =  $file->getInfo('files');
            // 成功上传后 获取上传信息
            // 输出 jpg
            // echo $info->getExtension();
            // // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
            // echo $info->getSaveName();
            // // 输出 42a79759f284b767dfcb2a0197904287.jpg
            // echo $info->getFilename(); 
           //添加图片记录
            $data = ['name'=>$files['name'],
            'save_name'=> $info->getFilename(),
            'save_path'=> $files_path.$info->getSaveName(),
            'ext'=>$info->getExtension(),
            'type'=>$files['type'],
            'size'=>$files['size'],
            'md5'=>$info->md5(),
            'sha1'=>$info->sha1(),
            'create_time'=>time()
            ];
             model('file')->addData($data);
             return success_json('上传成功','/'.trim($files_path,'/').'/'.str_replace('\\','/',$info->getSaveName()));
        }else{
            // 上传失败获取错误信息
             return error_json($file->getError());
        }

    }


 }
}