PHP開源框架Laravel與阿里雲OCR的整合實務指南
引言:
隨著網路的發展,線上影像辨識越來越受到關注。而阿里雲OCR(Optical Character Recognition,光學字元辨識)作為市場上領先的OCR服務供應商之一,提供了強大的影像辨識能力。而Laravel作為一款流行的PHP開源框架,提供了簡潔、高效的開發方式,受到了廣大開發者的喜愛。本文將介紹如何在Laravel專案中整合阿里雲OCR,並給出了相應的程式碼範例。
一、準備工作:
二、安裝阿里雲OCR SDK套件
在Laravel專案根目錄下的composer.json檔案中加入阿里雲OCR SDK的依賴:
"require": { "aliyuncs/oss-sdk-php": "2.3.0" }
然後執行composer update
指令安裝依賴套件。
三、設定阿里雲OCR SDK
在Laravel專案根目錄的config目錄中新建ocr.php文件,並新增如下程式碼:
<?php return [ 'access_key' => env('ALIYUN_ACCESS_KEY', ''), 'access_secret' => env('ALIYUN_ACCESS_SECRET', ''), ];
然後在.env檔案中加入阿里雲的Access Key與Access Secret:
ALIYUN_ACCESS_KEY=your_access_key ALIYUN_ACCESS_SECRET=your_access_secret
四、建立OCR控制器
執行下列指令建立OCR控制器:
php artisan make:controller OCRController
然後在建立的OCRController中加入以下程式碼:
<?php namespace AppHttpControllers; use IlluminateHttpRequest; use AlibabaCloudClientAlibabaCloud; use AlibabaCloudClientExceptionClientException; use AlibabaCloudClientExceptionServerException; class OCRController extends Controller { public function ocr(Request $request) { $imagePath = $request->file('image')->path(); $fileContent = file_get_contents($imagePath); AlibabaCloud::accessKeyClient(config('ocr.access_key'), config('ocr.access_secret')) ->regionId('cn-hangzhou') ->asDefaultClient(); try { $result = AlibabaCloud::ocr() ->v20191230() ->recognizeCharacter() ->withImageUrl('') ->format('json') ->request(); return response()->json($result->toArray()); } catch (ServerException $e) { // 服务器处理异常 throw new Exception($e->getErrorMessage()); } catch (ClientException $e) { // SDK调用异常 throw new Exception($e->getErrorMessage()); } } }
五、設定路由
在routes/web.php檔案中加入以下路由:
Route::post('/ocr', 'OCRController@ocr');
六、建立視圖
建立一個簡單的上傳圖片的視圖,例如:
<!DOCTYPE html> <html> <head> <title>Upload Image</title> </head> <body> <form method="POST" action="/ocr" enctype="multipart/form-data"> @csrf <input type="file" name="image"> <button type="submit">Upload</button> </form> </body> </html>
七、測試
造訪http://your_domain/ocr,上傳一張圖片進行測試。將圖片傳送到OCR介面進行影像識別,並將傳回結果以JSON格式傳回。您可以根據專案需求對傳回結果進行處理。
結語:
透過本文的介紹,我們了解如何在Laravel專案中整合阿里雲OCR。您可以根據實際需求進行擴展,應用於您的專案。希望本文對您有幫助!
以上是PHP開源框架Laravel與阿里雲OCR的整合實務指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!