Laravelフレームワーク実装のアップロード画像から七牛機能の詳細

4089 ワード

この例では、Laravelフレームワークで実装されたアップロード画像から七牛機能について説明します.皆さんの参考にしてください.具体的には以下の通りです.
新規プロジェクト
ここでは新しいLaravel 5を直接使います.3のプロジェクトはプレゼンテーションを行い、他のバージョンは同じで機能に影響しません.せいぜいルーティングの位置が違います.既存のプロジェクトのパートナーは、サブセグメントを直接スキップできます.

#     
laravel new laravel-qiniu
cd laravel-qiniu


Laravel七牛拡張パッケージのインストール
過Componentoserインストール:

composer require zgldh/qiniu-laravel-storage


そしてconfig/app.phpに登録されたサービスプロバイダ:

zgldh\QiniuStorage\QiniuFilesystemServiceProvider::class


次にconfig/filesystems.phpのdisksに7牛の配置が追加されました.

'qiniu' => [
  'driver' => 'qiniu',
  'domains' => [
    'default'  => 'xxxxx', //      
    'https'   => 'xxxxx',     //  HTTPS  
    'custom'  => 'xxxxx',   //       
   ],
  'access_key'=> '', //AccessKey
  'secret_key'=> '', //SecretKey
  'bucket'  => '', //Bucket  
  'notify_url'=> '', //         
],


OK、拡張パッケージのインストールはしばらくここまで紹介します.次に、七牛にアカウントを登録し、上の配置を完備します.
七牛アカウントの登録と配置
まず七牛に行ってアカウントを登録して、公式サイトの登録をクリックすると、ユーザーのタイプを選択させてくれます.ここでは個人ユーザーを選択します.
次は流れに沿ってエントリー登録すればOKなので、プレゼンテーションはしません.私の携帯番号が登録されているので、ここではストレージオブジェクトを追加した例を見せるしかありません.
OK、簡単に図で七牛のデフォルトドメイン名とカスタムドメイン名がどこにあるかを見せます.七牛の鍵の位置を見てみましょう.
鍵管理をクリックすると、個人の七牛を見る鍵が表示されます.
七牛のLaravelでの配置
関連する構成を説明しましたが、Laravelで使用します.
写真を七牛にアップロード
フロントエンドのアップロード画像をバックグラウンドにアップロードした後、7牛の拡張アップロード画像を簡単に例で示します.
まずresourcesviewsの下でindexを新規作成します.blade.phpビュー




      


  
画像をアップロード
ページコードは簡単で、何のスタイルもありません(サボっていることを許してください)、新しいUplaodControllerアップロードファイルコントローラを作成します:

php artisan make:controller UploadController


アップロード方法の実装:

hasFile('file')) {
      //     ,file          input name
      $file = $request->file('file');
      // Laravel5.3       
      // $file = $request->file;
      //    
      $disk = QiniuStorage::disk('qiniu');
      //      
      $fileName = md5($file->getClientOriginalName().time().rand()).'.'.$file->getClientOriginalExtension();
      //      
      $bool = $disk->put('iwanli/image_'.$fileName,file_get_contents($file->getRealPath()));
      //         
      if ($bool) {
        $path = $disk->downloadUrl('iwanli/image_'.$fileName);
        return '    ,  url:'.$path;
      }
      return '    ';
    }
    return '    ';
  }
}


ルーティングの追加:

//       
Route::get('/upload',function ()
{
  return view('index');
});
// form        
Route::post('upload','UploadController@uploadFile');


ビューページ(resourcesviewsindex.blade.php):




      


  
{{csrf_field()}}
画像をアップロード
OK、ページを更新するとアップロードしたurlアドレスが表示されます.ここでは最も簡単な例を示します.ルーティング定義、ビュースタイル、論理層が自分のプロジェクトに従って処理すればいいです.
Laravelに関する詳細については、「Laravelフレームワーク入門と進級チュートリアル」、「php優秀開発フレームワーク総括」、「phpオブジェクト向けプログラム設計入門チュートリアル」、「php+mysqlデータベース操作入門チュートリアル」、「php常見データベース操作テクニック要約」のトピックを参照してください.
Laravelフレームワークに基づくPHPプログラムの設計に役立つことを期待します.