1. 程式人生 > >七牛 使用php-sdk 進行 多圖片上傳

七牛 使用php-sdk 進行 多圖片上傳

由於不太精通php,歷時兩週的時間才把這個七牛php上傳圖片的demo做出來,在此記錄一下,直接上程式碼吧

前端程式碼:

<!DOCTYPE html>
<html>
<head>
    <title>上傳</title>
    <meta charset="UTF-8">
</head>
<body>
    <form method="post" action="upload.php" enctype="multipart/form-data">
          <input name="file[]" type="file" multiple/>
        <input name='type' type="text" value="" placeholder="1banner,2照片牆">
          <input name="uploadpic" type="submit" value="上傳"/>
    </form>
</body>
</html>

 

php後臺程式碼:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<?php
require_once  "php-sdk-7.2.7/autoload.php";
include("conn.php");
    // 引入 鑑權類
    use Qiniu\Auth;
    // 引入 上傳類
    use Qiniu\Storage\UploadManager;
    
     
    if($_POST['uploadpic']=='上傳'){
    
        $count=0;
        $tp = array("image/gif","image/pjpeg","image/jpeg","image/png");    //檢查上傳檔案是否在允許上傳的型別
        foreach ($_FILES["file"]["error"] as $key => $error){
        if(!in_array($_FILES["file"]["type"][$key],$tp)){
            echo "<script language='javascript'>";
            echo "alert(\"檔案型別錯誤!\");";
            echo "</script>";
              exit;
        }
        if($error == UPLOAD_ERR_OK){
        
        // 需要填寫你的 Access Key 和 Secret Key
        $accessKey = 'A_yB4s*****************ZN4PqdBl72D';
        $secretKey = 'XfRkI****************RM4Ys4xQFu';
 
        // 構建 鑑權物件
        $auth = new Auth($accessKey, $secretKey);
 
        // 要上傳的空間
        $bucket = 'cf-gh';
 
        // 生成上傳 Token
        $token = $auth->uploadToken($bucket);
        
        
        
 
        // 要上傳檔案的本地路徑
        $filePath = $_FILES['file']['tmp_name'][$key];
        
        //擷取檔名跟字尾
        $a=explode(".",$_FILES["file"]["name"][$key]);
        
        //檔名
        $prename = $a[0];
        
        //檔名字尾
        //$lastname = $a[1];
        
        
        // 上傳到七牛後儲存的檔名 檔案型別/檔名
        //$key = $_FILES['file']['type'][$key].'/'.$_FILES['file']['name'][$key];
        date_default_timezone_set('UTC');
        $key = date('YmdHis').mt_rand(100,999).'/'.$_FILES['file']['name'][$key];
        // 初始化 UploadManager 物件並進行檔案的上傳。
        $uploadMgr = new UploadManager();
 
        // 呼叫 UploadManager 的 putFile 方法進行檔案的上傳。
        list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);
        echo "\n====> putFile result: \n";
        echo "<br />";
        if ($err !== null) {
            var_dump("失敗");
           var_dump($err);
            echo "<br />";
        } else {
            var_dump("成功");
            var_dump($ret);
             echo "<br />";
            $query;
            if($_POST['type']==1){
                $query="insert into gh_banner(name,tupian,pLike) values('".$prename."','"."http://qn.saokeju.com/".$key."','0')"; // 插入到資料庫
            }else if($_POST['type']==2){
                $query="insert into gh_picture(name,tupian,pLike) values('".$prename."','"."http://qn.saokeju.com/".$key."','0')"; // 插入到資料庫
            }
            
            $res=mysql_query($query);
            //echo "insert into product(name,tupian,pLike) values('".$prename."','".$key."','0')";die;
            
            if($res)
             echo $prename."chenggong<br/>";
             echo $key."<br />";
            $count++;
         }
        }
        }
        echo "總共".$count."檔案";
        
    }
?>

資料庫連線程式碼:

<?php
 
  $conn=mysql_connect("localhost","root","123456") or die("資料庫伺服器連線錯誤".mysql_error());
  mysql_select_db("test2",$conn) or die("資料庫訪問錯誤".mysql_error());
  mysql_query("set character utf8");
  mysql_query("set names utf8");
  
  ?>
  

index.php程式碼:

<?php include_once("index.html");?>

demo下載地址:https://download.csdn.net/download/qq_32784303/10857034