首頁  >  文章  >  後端開發  >  PHP開源框架Laravel與阿里雲OCR的整合實務指南

PHP開源框架Laravel與阿里雲OCR的整合實務指南

WBOY
WBOY原創
2023-07-17 14:45:131902瀏覽

PHP開源框架Laravel與阿里雲OCR的整合實務指南

引言:
隨著網路的發展,線上影像辨識越來越受到關注。而阿里雲OCR(Optical Character Recognition,光學字元辨識)作為市場上領先的OCR服務供應商之一,提供了強大的影像辨識能力。而Laravel作為一款流行的PHP開源框架,提供了簡潔、高效的開發方式,受到了廣大開發者的喜愛。本文將介紹如何在Laravel專案中整合阿里雲OCR,並給出了相應的程式碼範例。

一、準備工作:

  1. 註冊阿里雲帳號並開通OCR服務。
  2. 建立一個新的Laravel專案或選擇已有的專案。

二、安裝阿里雲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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn