php(tp框架)使用阿里云OSS存储

16 篇文章 0 订阅

这里只演示thinkphp5.0框架上传文件到阿里云oss对象存储中。其实官方文档说的很明白,但是在实操中我们总是会出现各种细节错误。恨不得有一个从头到尾的新手教程。

官方文档:PHP - 对象存储 OSS - 阿里云

1.前期准备工作

申请注册阿里云账号,开通阿里云oss对象存储我就不说了。然后进入对象存储控制台,创建一个Bucket。我创建的Bucket名称为liuqingwushui。注意,这个昵称后面会用到。然后再创建了一个文件夹dream。创建完之后的样子是这样的:

 在阿里云oss对象存储控制台阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台,别忘了先申请一个accessKeyIdaccessKeySecret。后面会用到。官方建议说为了安全创建用RAM。这里为了测试,我就没用。

 除此之后还有一个Endpoint地域节点,是在你创建Bucket根据你选择的地域进行分配的。我这里选择的西南成都,所以Endpoint是oss-cn-chengdu.aliyuncs.com。

 2.整合上传测试

准备工作完毕,注意我标红的参数都是要用的,下面开始进行上传测试。我可以用的thinkphp5.0(后面简称tp5)框架,没有tp5框架的可以看我其他的博客,有提供下载地址。阿里云官方提供了很多种sdk安装初始化的方法。我选择的是最简单直接的源码方式。https://github.com/aliyun/aliyun-oss-php-sdk?spm=a2c4g.11186623.0.0.4dae2ceasCmOmJ

github下载源码,不出意外的话,下载来的是目录结构是这样的:

 然后将这个文件夹复制到tp5的vendor下,起名aliyun:

 下面开始使用:

 Imgupload.php代码:

<?php
namespace app\aliyunoss\controller;
use think\Controller;
use think\Db;  //数据库连接类Db
require_once '/../vendor/aliyun/autoload.php';
use OSS\OssClient;
use OSS\Core\OssException;
class Imgupload extends Controller{
	public function checkToken(){
		// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
		$accessKeyId = "你自己的accessKeyId";
		$accessKeySecret = "你自己的accessKeySecret";
		// yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
		$endpoint = "oss-cn-chengdu.aliyuncs.com";
		// 填写Bucket名称,例如examplebucket。
		$bucket= "liuqingwushui";
		// 填写Object完整路径,例如exampledir/exampleobject.txt。Object完整路径中不能包含Bucket名称。
		$object = "dream/exampleobject.txt";
		// <yourLocalFile>由本地文件路径加文件名包括后缀组成,例如/users/local/myfile.txt。
		// 填写本地文件的完整路径,例如D:\\localpath\\examplefile.txt。如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件。
		$filePath = "D:\\examplefile.txt";
		
		try{
		    $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
		
		    $ossClient->uploadFile($bucket, $object, $filePath);
		} catch(OssException $e) {
		    printf(__FUNCTION__ . ": FAILED\n");
		    printf($e->getMessage() . "\n");
		    return;
		}
		print(__FUNCTION__ . "OK" . "\n");
	}
	
}

注意提前在D盘创建一个examplefile.txt文件。

然后我这里访问:http://localhost/tp5/public/aliyunoss/Imgupload/checkToken

就成功,再去你的dream目录下就会看到一个exampleobject.txt文件了。

 

码字不易,转载请注明出处,谢谢

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
阿里云OSS存储提供了多种API接口和SDK,其中PHP SDK是阿里云官方提供的一种使用PHP语言访问OSS存储的工具。你可以按照以下步骤进行编写: 1. 下载PHP SDK。 你可以在阿里云官网上下载PHP SDK,解压后将SDK文件夹放到你的项目目录中。 2. 引入autoload.php文件 在你的PHP代码开头,引入autoload.php文件,例如: ```php require_once '/path/to/aliyun-oss-php-sdk/autoload.php'; ``` 3. 配置AccessKeyId和AccessKeySecret 在使用OSS API之前,请确保已经申请了OSS服务,并拥有AccessKeyId和AccessKeySecret。在使用SDK之前,需要将这两个参数配置到SDK中。可以在代码中通过如下方式进行配置: ```php $accessKeyId = 'yourAccessKeyId'; $accessKeySecret = 'yourAccessKeySecret'; $endpoint = 'http://oss-cn-hangzhou.aliyuncs.com'; // OSS节点地址,根据实际情况填写 $bucket = 'yourBucketName'; // 填写你的Bucket名称 $ossClient = new \OSS\OssClient($accessKeyId, $accessKeySecret, $endpoint); ``` 4. 上传文件 在使用OSS存储时,最基本的操作就是上传文件。使用PHP SDK,你可以通过以下代码上传文件: ```php $object = 'yourObjectName'; // 上传到OSS的文件名 $content = 'yourContent'; // 文件内容,可以是字符串或者二进制数据 $ossClient->putObject($bucket, $object, $content); ``` 其中,$bucket为Bucket名称,$object为上传到OSS的文件名,$content为文件内容。 5. 下载文件 你可以通过以下代码从OSS存储中下载文件: ```php $object = 'yourObjectName'; // 要下载的文件名 $content = $ossClient->getObject($bucket, $object); ``` 其中,$bucket为Bucket名称,$object为要下载的文件名,$content为文件内容。 以上是使用阿里云OSS存储PHP代码编写方法,你可以根据实际需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流情

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值