全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
12
返回列表 发新帖
楼主: lemeaco
打印 上一主题 下一主题

[Windows VPS] php大佬进

[复制链接]
11#
发表于 2020-3-17 23:26:00 | 只看该作者
本帖最后由 Simmoc 于 2020-3-17 23:28 编辑

可以尝试用  think\File 对象接收上传的文件
  1.    
  2.         use think\Config;
  3.         use think\Db;
  4.         use think\File;

  5.      /**
  6.      * @param File $file
  7.      * @param string $save_path
  8.      * @param bool|true $is_record
  9.      * @param array $rule
  10.      * @return array
  11.      */
  12.     static public function uploadFile(File $file,$save_path="",$is_record=true,$rule=[] ) {
  13.         $return=[
  14.             "code"=>1001,
  15.             "data"=>"",
  16.             "msg"=>"文件上传成功",
  17.         ];

  18.         $file_hash_md5 = $file->hash("md5");
  19.         $file_hash_sha1 = $file->hash("sha1");
  20.         //判断数据库中是否存在
  21.         if ($is_record){
  22.             $images_table = Config::get("upload.upload_files_table");
  23.             $map = [
  24.                 "md5"=>$file_hash_md5,
  25.                 "sha1"=>$file_hash_sha1,
  26.             ];
  27.             $search_image=Db::table($images_table)->where($map)->find();
  28.             if ($search_image){
  29.                 $return["path"] =  $search_image["path"];
  30.                 $return["msg"] =  "获取已存在图像成功";

  31.                 $return['data']['id'] = $search_image["id"];
  32.                 $return['data']['path'] = $search_image["path"];
  33.                 $return['data']['type'] = "files" ;
  34.                 return $return;
  35.             }
  36.         }

  37.         $save_path = self::getSavePath("files");
  38.         $validate_rule = $validate_rule = $rule ? $rule : Config::get("upload.upload_files_validate");
  39.         $info = $file->validate($validate_rule)->move($save_path);

  40.         if ( $info ) {

  41.             $oinfo = $info->getInfo();

  42.             $data['name'] = $oinfo['name'];
  43.             $data['path'] = self::getSavePath("files",false).DS.$info->getSaveName();
  44.             $data['path'] = str_replace('\\', '/', $data['path']);
  45.             $data['md5'] = $file_hash_md5;
  46.             $data['sha1'] = $file_hash_sha1;
  47.             $data['size'] = $oinfo['size'];
  48.             $data['type'] = 'local';
  49.             $data['create_time'] = time();



  50.             if($is_record){
  51.                 $images_table = Config::get("upload.upload_files_table");
  52.                 if ( $id = Db::table($images_table)->insertGetId($data) ) {
  53.                     $return['data']['id'] = $id;
  54.                     $return['data']['path'] = $data['path'];
  55.                     $return['data']['type'] = "images" ;
  56.                 } else {
  57.                     $return['code'] = 1041;
  58.                     $return['msg'] = '记录到数据库失败!';
  59.                 }
  60.             }else{
  61.                 $return['data']['path'] = $data['path'];
  62.                 $return['data']['type'] = "files" ;
  63.             }

  64.         } else {
  65.             $return['code'] = 1040;
  66.             $return['msg'] = $file->getError();
  67.         }
  68.         return $return;
  69.     }
复制代码
12#
发表于 2020-3-17 23:43:53 来自手机 | 只看该作者
本帖最后由 ywjdlq 于 2020-3-17 23:50 编辑

查下swoole文档
13#
发表于 2020-3-17 23:57:47 | 只看该作者
不如去
sifou.net
虽然那边的人也帮不上啥大忙,但经常问着问着自己就把思路理清了。
14#
发表于 2020-3-18 10:15:39 | 只看该作者
我也太邪恶了,看标题还以为是pai huang pian 的大佬
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-11-8 18:17 , Processed in 0.243300 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表