ホームページ >php教程 >php手册 >thinkphp5+zyFile.js は写真を Qiniu Cloud にアップロードします

thinkphp5+zyFile.js は写真を Qiniu Cloud にアップロードします

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-08-10 08:48:592458ブラウズ

thinkphp は、zyfile を介して更新せずに Qiniu Cloud に写真をアップロードし、Qiniu Cloud 下のストレージ領域にあるファイル情報を取得します
以前、zyFileを使ってローカルに写真をアップロードする方法を公開しました もちろんWebサイトを作る際にはcndを使います。そこで、Qiniu Cloudに写真をアップロードする方法を紹介します。
ここで Qiniuyun に感謝したいと思います (お金は必要ありません、笑)。
まず、基本的な構成について説明します。まず、application/index/config でキーを構成します。これらのキーは、Qiniu Cloud Personal Center で表示できます。BUCKET パラメーターは、必要なストレージ スペースの名前です。アップロード。 。まあ、基本的には何も変える必要はありません。

Index.php のコードは次のとおりです: <?php <br /> // +---------------------------------------------- --- ----------------------------------<br> // | ヘビ<br> // +---------------------------------------------- --- ----------------------------------<br> // | 著作権 (c) 2016~2022 http://baiyf.com 無断複写・転載を禁じます<br> // +---------------------------------------------- --- ----------------------------------<br> // | ライセンス済み ( http://www.apache.org/licenses/LICENSE-2.0 )<br> // +---------------------------------------------- --- ----------------------------------<br> // | 著者: ニックバイ <br> // +---------------------------------------------- --- ----------------------------------<br> 名前空間 appindexcontroller;<br> <br> thinkController を使用します;<br> QiniuAuth を使用します;<br> QiniuStorageBucketManager を使用します;<br> QiniuStorageUploadManager を使用します;<br> <br> クラスインデックスはコントローラーを拡張します<br> {<br> パブリック関数index()<br> {<br> return $this->fetch('/index');<br> }<br> <br> /**<br> * *バックグラウンドのデフォルトのホームページ<br> * * @return 混合<br> ​​*/<br> パブリック関数indexPage()<br> {<br> return $this->fetch('index');<br> }<br> <br> /**<br> * *すべての写真はクラウドストレージに保存されています<br> * * @return 混合<br> ​​*/<br> パブリック関数 picList()<br> {<br> 。 <br> $accessKey = config('ACCESSKEY');<br> $secretKey = config('SECRETKEY');<br> <br> $auth = 新しい認証($accessKey, $secretKey);<br> $bucketMgr = 新しい BucketManager($auth);<br> <br> //リストされるスペースの名前<br> $bucket = config('BUCKET');<br> //ファイルのパブリックプレフィックスをリストするには<br> $prefix = // 最後の列挙から返された位置マークは、この列挙の開始点情報として使用されます。 <br> $mark = //今回の出品数<br> //$limit = 3;<br> <br> // ファイルをリストします<br> $list = $bucketMgr->listFiles($bucket, $prefix, $marker);<br> $list = array_filter($list);<br> <br> $this->assign([<br> 「リスト」=>$リスト<br> ]);<br> <br> return $this->fetch();<br> }<br> <br> //写真をアップロードします<br> パブリック関数 showUpload()<br> {<br> return $this->fetch();<br> }<br> <br> <br>//アップロード処理のメインメソッド<br> パブリック関数upload()<br> {<br> $file = request()->file('fileList');<br> <br> 。 <br> //アクセスキーとシークレットキーを入力する必要があります<br> $accessKey = config('ACCESSKEY');<br> $secretKey = config('SECRETKEY');<br> // 認証オブジェクトを構築します<br> $auth = 新しい認証($accessKey, $secretKey);<br> <br> // アップロードするスペース<br> $bucket = config('BUCKET');<br> <br> // トークンを生成してアップロードします<br> $token = $auth->uploadToken($bucket);<br> <br> // ファイルをアップロードするローカルパス<br> $filePath = $file->getRealPath();<br> <br> $ext = pathinfo($file->getInfo('name'), PATHINFO_EXTENSION); <br> //Qiniuにアップロード後に保存されたファイル名<br> $key = substr(md5($file->getRealPath()), 0, 5) . rand(0, 9999) . <br> // UploadManager オブジェクトを初期化し、ファイルをアップロードします<br> $uploadMgr = new UploadManager();<br> <br> // UploadManager の putFile メソッドを呼び出してファイルをアップロードします<br> list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);<br> If ($err !== null) {<br> var_dump($err);<br> else {<br> $バケット '/' をエコーし​​ます。 }<br> }<br> }<br>かなり多くのファイルが表示されているため、ここではコードをリストしません。ダウンロードして近くで確認してください。もちろん、この例は単なるデモであり、多くの機能が完璧ではありません。これを使用したい人に実装のアイデアを提供しているだけです。 <br> <br> Qiniu Cloud の SDK は Composer を通じて更新でき、内部のデモは私のように tp5 の書き込みに変更するだけですべてのニーズを満たすことができます。 <br>


thinkphp5+zyFile.js は写真を Qiniu Cloud にアップロードします ファイルサイズが大きすぎます。次に、コードをクラウドディスクに置きますので、興味のある方は覗いてみてください
http://pan.baidu.com/s/1bp5etbhthinkphp5+zyFile.js は写真を Qiniu Cloud にアップロードします 私のgithub: https://github.com/nick-bai/





声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。