Thinkphp5 が Baidu Cloud Object Storage BOS に接続する (コード例)
この記事の内容は、Thinkphp5 と Baidu Cloud Object Storage BOS のドッキング (コード例) に関するもので、一定の参考価値があります。必要な友人は参考にしていただければ幸いです。
最初に SDK パッケージをダウンロードします。公式 Web サイトからダウンロードするか、プロジェクトのルート ディレクトリで Composer を使用できます。
composer require baidubce/bce-sdk-php
圧縮パッケージには 5 つのファイルがありますが、実際に使用されるのは 2 つだけで、extend ファイル ディレクトリに配置されます
##使用する必要があるコントローラーに導入します
//如果是用composer 引入的直接use就可以了 : use BaiduBce\Services\Bos\BosClient; //如果使用的压缩包: include_once './extend/BaiduBce.phar';//下面是文件结构 require './extend/SampleConf.php';// 配置信息 BaiduBce.phar ├──src │ └── BaiduBce //composer直接下载的就是这个文件 │ ├── Auth //BCE签名相关 │ ├── Exception //BCE客户端的异常 │ ├── Http //BCE的Http通信相关 │ ├── Log //BCE日志 │ ├── Services │ │ └── Bos //BOS主目录,此目录必须保留 │ │ ├── BosClient.php //BOS操作类,所有操作可以通过BosClient类可以完成 │ │ ├── BosOptions.php //BOS自定义配置 │ │ └── CannedAcl.php //CannedAcl模块 │ └── Util //BCE公用工具 └──vendor //第三方库
アップロード方法:
public function test_upload() { error_reporting(-1); $file = request()->file('file'); if ($file) { $info = $file->move(ROOT_PATH . 'uploads'); if ($info) { $BOS_TEST_CONFIG = array( 'credentials' => array( 'accessKeyId' => 'your accessKeyId', 'secretAccessKey' => 'your aecretAccessKey', ), 'endpoint' => 'bucket域名', ); $client = new BosClient($BOS_TEST_CONFIG);//如果是有配置文件直接在配置文件里面配置信息就可以了不需要写上面的数组。 $bucketName = 'rests';//bucket名字,相当于你在bucket创建好的那个文件夹,如果没有会自动创建。 $client->putObjectFromFile($bucketName, $info->getSaveName(), 'uploads' . DS . $info->getSaveName()); //第一个参数:bucket名字、第二个参数:文件名字、第三个参数:文件路径。 // 成功上传后 获取上传信息 $data['code'] = 0; $data['msg'] = ''; $data['list'] = [ 'src' => 'cartoon/' . $info->getSaveName(), 'name' => $info->getFilename(), 'preview' => 'uploads' . DS . $info->getSaveName(), ]; //上面的返回数据是看个人项目需要的数据 $url = ROOT_PATH . 'uploads' . DS . $info->getSaveName(); unset($info);//如果不释放这个变量下面的unlink()函数会报错。 if (file_exists($url)) { unlink($url);//删除本地文件 } echo json_encode($data); } else { // 上传失败获取错误信息 echo $file->getError(); } } }
削除メソッド:
/** * 删除百度云存储文件 * @access public * @param string $object 文件名字 * @param string $bucket BucketName * @return false|File */ public function file_del($object, $bucket = 'test') { $BOS_TEST_CONFIG = array( 'credentials' => array( 'accessKeyId' => 'your accessKeyId', 'secretAccessKey' => 'your secretAccessKey', ), 'endpoint' => 'bucket域名', ); $client = new BosClient($BOS_TEST_CONFIG); $client->deleteObject($bucket, $object); }
以上がThinkphp5 が Baidu Cloud Object Storage BOS に接続する (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Pagoda に thinkphp5 をデプロイするときに報告されたエラーの解決策: 1. Pagoda サーバーを開き、php pathinfo 拡張機能をインストールして有効にします; 2. 「.access」ファイルをコンテンツ「RewriteRule ^(.*)$index.php」で構成します。 ?s=/$1 [QSA ,PT,L]”; 3. Web サイト管理で、thinkphp の疑似静的機能を有効にするだけです。

thinkphp5 の URL 書き換えが機能しない場合の解決策: 1. mod_rewrite.so モジュールが httpd.conf 設定ファイルにロードされているかどうかを確認します; 2.AllowOverride None の None を All に変更します; 3. Apache 設定ファイル .htaccess を「RewriteRule ^」に変更します(.*)$index.php [L,E=PATH_INFO:$1]」を選択して保存します。

thinkphp5 タイトル バー アイコンを削除する方法: 1. thinkphp5 フレームワーク public で favicon.ico ファイルを見つけます; 2. ファイルを削除するか、別の画像を選択して名前を favicon.ico に変更し、元の favicon.ico ファイルを置き換えます。

thinkphp5 が要求された URL を取得するためのメソッド: 1. "\think\Request" クラスの "$request = Request::instance();" メソッドを使用して、現在の URL 情報を取得します。 2. 組み込みヘルパーを使用します。関数「$request-> url()」を使用して、ドメイン名を含む完全な URL アドレスを取得します。

TP5 が strpos 関数を使用してヘッダーの content-type 値で app/json 文字列を検索するため、thinkphp5 post は値を取得できません。解決策は、ヘッダーの content-type 値を app/json に設定することです。

thinkphp5 でコントローラーが存在しないというプロンプトが表示される場合の解決策: 1. 対応するコントローラーの名前空間が正しく記述されているかどうかを確認し、正しい名前空間に変更します; 2. 対応する tp ファイルを開いてクラス名を変更します。

ThinkPHP5 で昨日のデータをクエリする方法: 1. ThinkPHP5 関連ファイルを開きます; 2. 式「db('table')->whereTime('c_time', 'yesterday')->select();」を使用して昨日のデータをクエリします。 。

thinkphp5 でエラー プロンプトを設定する方法: 1. プロジェクト ルート ディレクトリのパブリック フォルダーに入り、index.php エントリ ファイルを開きます; 2. デバッグ モード スイッチに関するコメントを表示します; 3. 「APP_DEBUG」定数の値を調整しますtrue に設定すると、エラー メッセージ プロンプトが表示されます。
