首页 » PHP教程 » phptokenizer技巧_Laravel56 阿里云OSS 完成图文分离架构

phptokenizer技巧_Laravel56 阿里云OSS 完成图文分离架构

duote123 2024-11-01 0

扫一扫用手机浏览

文章目录 [+]

在支配环境之前,我们须要去阿里云平台注册一个账号,个人账号和公司账号都可以,注册完成后,复制access_key和access_secret配置在项目中就完成了项目的基本设置。

一. 新建项目,安装Laravel5.6版本的框架代码1. 环境配置哀求

Laravel 对系统有一些哀求,您的做事器知足下面的哀求:

phptokenizer技巧_Laravel56  阿里云OSS 完成图文分离架构

PHP >= 7.1.3OpenSSL PHPPHP PDO 扩展PHP Mbstring 扩展PHP Tokenizer 扩展PHP XML 扩展PHP Ctype 扩展PHP JSON 扩展

备注:您须要达到以上的配置哀求,这个就不详细详细解释,详细看php语法

phptokenizer技巧_Laravel56  阿里云OSS 完成图文分离架构
(图片来自网络侵删)
2. 安装Laravel5.6框架

Laravel5.6 利用 Composer 来管理项目依赖。
因此,在利用 Laravel5.6 之前,请确保你的机器已经安装了 Composer。

composer -v

备注:composer详细安装请参照上面链接,按文档安装即可下面我们详细安装Larvael5.6框架,在掌握窗口输入一下内容(本人windows操作系统),等待安装完成。

composer create-project --prefer-dist laravel/laravel blog

安装完成后实行以下代码,为运用程序设置随机字符串密钥。

php artisan key:generate

在浏览器中输入:http://localhost/blog/public/index.php,看到如下界面便是访问正常了。

3. composer.json配置阿里云组件包

在require中添加"jacobcyl/ali-oss-storage": "^2.1"

“require”: { “php”: “^7.1.3”, “fideloper/proxy”: “^4.0”, "laravel/framework”: “5.8.”,“laravel/tinker”: “^1.0”,“jacobcyl/ali-oss-storage”: “^2.1”},

然后实行命令:

composer updatecomposer dumpautoload

组件下载完成后,如下图:

4. 配置阿里云access_key和access_secret配置(OSS自行开通)

这里很关键:我的是单独写了一个文件进行配置

第一步:在config/app.php的providers下添加:

Jacobcyl\AliOSS\AliOssServiceProvider::class,第二步:在app/filesystems.php中的disks里下添加

'oss' => [ 'driver' => 'oss', 'access_id' => env('OSS_ACCESS_ID', '填你自己的'), 'access_key' => env('OSS_ACCESS_KEY', '填你自己的'), 'bucket' => env('OSS_BUCKET', '填你自己的'), 'endpoint' => env('OSS_ENDPOINT', 'oss-cn-hangzhou.aliyuncs.com'), 'isCName' => false, 'debug' => true,],第三步:新建文件alioss.php文件

<?phpreturn [ 'OSS_ACCESS_ID' => env('OSS_ACCESS_ID', '填你自己的'), 'OSS_ACCESS_KEY'=> env('OSS_ACCESS_KEY', '填你自己的'), 'OSS_ENDPOINT' => env('OSS_ENDPOINT', 'oss-cn-hangzhou.aliyuncs.com'), 'OSS_BUCKET' => env('OSS_BUCKET', '填你自己的'), 'OSS_HOST' => 'https://填你自己的.oss-cn-hangzhou.aliyuncs.com',//前台显示域名 'OSS_URL' => 'https://填你自己的.oss-cn-hangzhou.aliyuncs.com', // CDN域名,没有CDN就和OSS_HOST同等即可];

到此文件就已经加载完成。

二. 编写接口掌握器方法

新建掌握器:UploadsController 继续 Controller类,方便操作。

第一步:编写API路由

Route::post('/index/image', '\App\Http\Controllers\Index\UploadsController@index');第二步:编写掌握器,上传图片(核心代码)

public function index(Request $request) { $disk = \Storage::disk('oss'); if (!isset($request->image)) { return $this->array_format('图片信息缺点' . __LINE__, 414); } switch ($request->source) { case 'file': if (!($request->hasFile('image') && $request->file('image')->isValid())) { return $this->array_format('图片信息缺点' . __LINE__, 414); } $file = $request->file('image'); $image_str = @file_get_contents($file->getPathname()); $base64_str = base64_encode($image_str); break; case 'url': $image_str = @file_get_contents($request->image); $base64_str = base64_encode($image_str); break; case 'base64': $base64_str = $request->image; break; default: return $this->array_format('图片类型缺点', 414); break; } //获取图片信息 $image_info = $this->base64_image_format($base64_str); if (!$image_info) { return $this->array_format('图片信息缺点' . __LINE__, 414); } if ($image_info['image_size'] > 10 1024 1024) { return $this->array_format('图片信息太大', 414); } $image_path = 'uploads/image/'. date('Ym'); $image_name = $image_path . '/' . md5($image_info['image_str']) . '.' . $image_info['image_suffix']; //上传图片 $temp = $disk->put($image_name, $image_info['image_str']); if (!$temp) { return $this->array_format('上传失落败', 414); } return $this->array_format('上传成功', 200, [ 'image_name' => $image_name, 'image_url' => $disk->url($image_name), ]);}四. Postman工具接口测试

公众年夜众号(Laravel技能社区)回答“阿里云OSS”,下载案例源码。

标签:

相关文章

执业药师试卷代码解码药师职业发展之路

执业药师在药品质量管理、用药安全等方面发挥着越来越重要的作用。而执业药师考试,作为进入药师行业的重要门槛,其试卷代码更是成为了药师...

PHP教程 2025-02-18 阅读1 评论0

心灵代码主题曲唤醒灵魂深处的共鸣

音乐,作为一种独特的艺术形式,自古以来就承载着人类情感的表达与传递。心灵代码主题曲,以其独特的旋律和歌词,唤醒了无数人的灵魂深处,...

PHP教程 2025-02-18 阅读1 评论0

探寻福建各市车牌代码背后的文化内涵

福建省,地处我国东南沿海,拥有悠久的历史和丰富的文化底蕴。在这片充满魅力的土地上,诞生了许多具有代表性的城市,每个城市都有自己独特...

PHP教程 2025-02-18 阅读1 评论0

探寻河北唐山历史与现代交融的城市之光

河北省唐山市,一座地处渤海之滨,拥有悠久历史和独特文化的城市。这里既是古丝绸之路的起点,也是中国近代工业的发源地。如今,唐山正以崭...

PHP教程 2025-02-18 阅读1 评论0