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