使用php原生代碼上傳圖片至SAE的STORAGE

由於覺得看文檔耗費時,想試試用PHP原先的上傳文件方法能否行的通,結果實踐證明是行的通的。
codes的值是由我自己定義的,各位可以修改成自己需要的值。代碼編寫比較粗略,用了好多if判斷。應該可以進一步優化。

首先要在storage裏自己生成一個domain。在下面代碼中$domain,請填寫自己的domain的名字。
其他不多說了,直接上代碼:

<?php
    function upload($_FILES)               //用於上傳圖片
    {
        $domain="fealimg";
        $max_file_size=2000000;
        $upload_dir="saestor://".$domain."/img/";
        if(!is_dir($upload_dir))           //如果不存在,則創建一個,權限爲0700
        {
            mkdir($upload_dir,0700);
        }
        if($_FILES['file']['error']>0)
        {
            $return=array('data'=>'','codes'=>356);
            return $return;
        }
        else
        {
            if($_FILES['file']['type']=='image/gif'
                ||$_FILES['file']['type']=='image/jpg'
                ||$_FILES['file']['type']=='image/jpeg'
                ||$_FILES['file']['type']=='image/pjpeg'
                ||$_FILES['file']['type']=='image/png'
                ||$_FILES['file']['type']=='image/bmp'
                ||$_FILES['file']['type']=='image/x-png')          //圖片是否符合格式
            {
                if($max_file_size>=$_FILES['file']['size'])
                {
                    $fileName=$_FILES['file']['name'];
                    if(is_file($upload_dir.$fileName))              //判斷文件是否已存在
                    {
                        $return=array('data'=>'','codes'=>359);
                        return $return;
                    }
                    if(move_uploaded_file($_FILES['file']['tmp_name'], $upload_dir.$fileName))
                    {
                        $return=array('data'=>'','codes'=>200);
                        return $return;
                    }
                    else
                    {
                        $return=array('data'=>'','codes'=>700);
                        return $return;
                    }
                }
                else
                {
                    $return=array('data'=>'','codes'=>358);
                    return $return;
                }
            }
            else
            {
                $return=array('data'=>'','codes'=>357,'type'=>$_FILES['file']['type']);
                return $return;
            }

        }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章