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

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

WBOY
WBOYオリジナル
2016-08-10 08:48:592385ブラウズ

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 /> // | 著者: ニックバイ <1902822973@qq.com><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 までご連絡ください。