Server : nginx/1.20.1 System : Linux iZ2ze9ojcl78uluczwag69Z 4.18.0-240.22.1.el8_3.x86_64 #1 SMP Thu Apr 8 19:01:30 UTC 2021 x86_64 User : www ( 1000) PHP Version : 7.3.28 Disable Function : passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv Directory : /www/wwwroot/0531yanglao.com/app/common/utils/ |
<?php namespace app\common\utils; use think\facade\Request; use think\facade\Config; use app\common\model\Attachment; use app\common\model\Log; class Upload { //错误信息 protected static $error; public static function uploadify($name = 'file', $path = '', $file = null) { //获取配置信息 $config = self::getConfig(); try { $file = is_object($file) ? $file : Request::file($name); if(empty($file)) { return false; } validate([$name => [ 'fileSize' => 1024 * 1024 * ((int)$config['fileSize'] ?? 2), 'fileExt' => $config['fileExt'], //'fileMime' => 'image/jpeg,image/png,image/gif', ]]) ->check([$name => $file]); $savenames = \think\facade\Filesystem::disk('public')->putFile($path, $file , function() { return date('Ymd') . DIRECTORY_SEPARATOR . md5(uniqid(mt_rand())); }); $hash = md5(uniqid(rand())); $name = $file->getOriginalName(); $savenames = $config['url'] . '/' . $savenames; //写入附件表 $data = [ 'name' => $name, 'filename' => $savenames, 'url' => file_url($savenames), 'hash' => $hash, ]; $model = Attachment::add($data); return [ 'aid' => $model->aid, 'originalName' => $name, //'savename' => $savenames, 'hash' => $hash, 'sort' => $model->aid, //'url' => base_url() . ltrim($config['url'] ,'/') . '/' . $savenames 'url' => file_url($savenames), 'ext' => $file->getOriginalExtension(), ]; }catch (\Exception $e){ Log::add($e->getMessage()); $data = ['msg'=>$e->getMessage()]; return $data; }catch (\think\exception\ValidateException $e) { Log::add($e->getMessage()); $data = ['msg'=>$e->getMessage()]; return $data; } } /** * 获取图片访问地址 * @param unknown $filename 整形为主键,字符为文件名 * @return string */ public static function getUrl($filename) { if(empty($filename)) { return ; } $url = file_url($filename); return $url; } /** * 删除附件 * @param unknown $filename 文件名 * @return string */ public static function delAttach($filename) { if(empty($filename)) { return false; } $config = self::getConfig(); //$filename = public_path() . $filename; $filename = public_path() . parse_url($filename)['path']; @unlink($filename); return true; } /** * 获取配置信息 * @return mixed|array */ public static function getConfig() { return Config::get('filesystem.disks.public'); } }