Home >Backend Development >PHP Tutorial >Practical Guide for the Integration of PHP Open Source Framework Laravel and Alibaba Cloud OCR

Practical Guide for the Integration of PHP Open Source Framework Laravel and Alibaba Cloud OCR

WBOY
WBOYOriginal
2023-07-17 14:45:131946browse

Practical Guide for the Integration of PHP Open Source Framework Laravel and Alibaba Cloud OCR

Introduction:
With the development of the Internet, online image recognition has attracted more and more attention. Alibaba Cloud OCR (Optical Character Recognition, optical character recognition), as one of the leading OCR service providers in the market, provides powerful image recognition capabilities. As a popular PHP open source framework, Laravel provides a simple and efficient development method and is loved by the majority of developers. This article will introduce how to integrate Alibaba Cloud OCR in the Laravel project and give corresponding code examples.

1. Preparation:

  1. Register an Alibaba Cloud account and activate the OCR service.
  2. Create a new Laravel project or select an existing project.

2. Install the Alibaba Cloud OCR SDK package
Add the dependency of the Alibaba Cloud OCR SDK to the composer.json file in the root directory of the Laravel project:

"require": {
    "aliyuncs/oss-sdk-php": "2.3.0"
}

Then executecomposer update command to install dependency packages.

3. Configure Alibaba Cloud OCR SDK
Create a new ocr.php file in the config directory of the Laravel project root directory, and add the following code:

<?php

return [
    'access_key' => env('ALIYUN_ACCESS_KEY', ''),
    'access_secret' => env('ALIYUN_ACCESS_SECRET', ''),
];

Then add in the .env file Alibaba Cloud's Access Key and Access Secret:

ALIYUN_ACCESS_KEY=your_access_key
ALIYUN_ACCESS_SECRET=your_access_secret

4. Create OCR Controller
Execute the following command to create an OCR Controller:

php artisan make:controller OCRController

Then add the following code to the created 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());
        }
    }
}

5. Configure routing
Add the following route in the routes/web.php file:

Route::post('/ocr', 'OCRController@ocr');

6. Create a view
Create a simple view for uploading images, for example :

<!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>

7. Test
Visit http://your_domain/ocr and upload a picture for testing. Send the image to the OCR interface for image recognition, and return the result in JSON format. You can process the returned results according to project requirements.

Conclusion:
Through the introduction of this article, we learned how to integrate Alibaba Cloud OCR in the Laravel project. You can expand it according to actual needs and apply it to your project. Hope this article helps you!

The above is the detailed content of Practical Guide for the Integration of PHP Open Source Framework Laravel and Alibaba Cloud OCR. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn