YmBok
搜索 充值水晶

PHP最简洁实现上传图片

该上传接口放到controller里,返回的json格式是用于wangEditor编辑器的,非常好用上代码:

   /**
     * 上传图片
     */
    public function uploadPic($req)
    {
        
        $data = array (
            array(
                "name"=>"",
                "url" => "",
                "alt" => "",
                "href" => ""
            )
        );
        
        $file = $_FILES['images'];
            
        $rootPath = str_replace('\\','/',realpath(dirname(__FILE__).'/../../../'));
        
        if ($file) {
            
            //保存目录名
            $uploadPath = "/upload/images/" . date('Y-m-d', time());
            
            //随机文件名
            $randName = $this->getRandName();
            
        	//文件的扩展名
        	$ext = pathinfo($file['name'],PATHINFO_EXTENSION);
        	
        	//新文件名
        	$fileName = $randName. '.' . $ext;
        	
        	//目标文件路径
        	$dest = $rootPath . $uploadPath .'/' . $fileName;
        	
        	//文件夹不存在或者不是目录,创建文件夹
        	$folderPath = $rootPath . $uploadPath;
            if (!file_exists($folderPath) || !is_dir($folderPath)) {
                
                mkdir($folderPath, 0777, true);
            }
            //判断文件是否可写
            if (!is_writeable($folderPath)) {
                chmod($folderPath, 0777);
            }

            $data[0]['name'] = $fileName;
            $data[0]['url'] =  $uploadPath .'/' . $fileName;
            
            $tmp = $file['tmp_name'];
            
            if(is_uploaded_file($tmp)){
                
                if(move_uploaded_file($tmp,$dest)){
                    
                    $response = ['errno'=>0,'msg'=>'图片上传成功','data'=>$data];
                    exit(json($response));
                    
                }else{
                    $response = ['errno'=>-1,'msg'=>"图片上传失败",'data'=>$data];
                    exit(json($response));
                }
            }else{
                $response = ['errno'=>-1,'msg'=>"不是可上传文件",'data'=>$data];
                exit(json($response));
            }
            
        }
        
        $response = ['errno'=>-1,'msg'=>"图片上传失败",'data'=>$data];
        return json($response);
    }
    
    /**
     * 随机文件名
     */
    public function getRandName(){
    	$name = date('YmdHis');
    	for($i=0; $i<6; $i++){
    		switch(mt_rand(0,2)){
    			case 0:
    				$name .= chr(mt_rand(97,122));   //小a
    				break;
    			case 1:
    				$name .= chr(mt_rand(65,90));    //大A
    				break;
    			case 2:
    				$name .= mt_rand(0,9);          //获取随机数
    				break;
    		}
    	}
    	return $name;
    }





内容来源与作者发布和网络,如有版权相关问题请及时与我们取得联系,我们将立即删除。

关于作者

还如一梦中 点击这里给我发消息

相关推荐

希望你会喜欢本站的内容

《传奇世界》手游修改教程之怪物掉落设置

下面讲解如何修改传世世界手游中的物品掉落,再原始的版本中,掉落的设置无法满足玩家的喜欢,我们需要自己修改,有简单的方法,也有费时的方法,先教大家基础的方法,后面教大家快捷的方法。 首先再客户

2022-07-06 还如一梦中
《传奇世界》手游修改教程之道士BB召唤

道士控制自己技能召唤的宝宝,服务端/data/sbin/resource/script/system/skill 打开SkillScript.lua --新的道士宝宝召唤机制 SkillSc

2022-07-06 还如一梦中
《传奇世界》手游修改教程之攻沙时间修改

客户端和服务端ShaWarDB,关键的字段是时间逗号后面那个数字: --攻沙时间设置 改为3天后 local Items = { {holdTimes = 5,defensePos = '{x

2022-07-06 还如一梦中
《传奇世界》手游修改教程之Luac4加密

Lua是游戏的脚本一般不会直接打包到app里,要先加密为luac4,在传奇世界手游里android可以支持luac4,但苹果不行 我们通过lua编译工具(tools/luaecode)编译l

2022-07-06 还如一梦中
《一梦传世》元神版本纯源码手工编译教程

《一梦传世》 元神 版本纯源码手工编译 全部文件包含服务端与客户端(其中包含AndroidStudio工程,Eclipse工程,IOS工程)目录如下: 分别稍稍下目录内容: ymwe

2022-07-06 还如一梦中
白鹭冰雪源码编译服务端VIP教程

2022-07-02 还如一梦中
白鹭冰雪源码编译客户端VIP教程

2022-07-02 还如一梦中
刺客传奇引擎架设教程

荐服务端系统环境 Win Server 2008 64位 一、将服务端拷贝到服务器,解压YmcqServer.zip。 二、安装64位DBC2000: 安装DBC_2000,安装成功后打开安装目录,

2022-06-07 还如一梦中
刺客引擎编译打包修改免费视频教程(六)

6、delphi引擎服务端编译

2022-06-07 还如一梦中
刺客引擎编译打包修改免费视频教程(五)

5、CocosStudio修改UI

2022-06-07 还如一梦中

友情链接