阿里云OSS实例 PHP实例

2021-08-05

1,本文使用官方提供sdk包开发。
2,首先要创建权限账号AccessKey。
3,下载官方sdk。
4,使用sdk中提供的方法。

创建AccessKey

官方文档

1,使用云账号登录RAM控制台。
2,在左侧导航栏的人员管理菜单下,单击用户。
3,在用户登录名称/显示名称列表下,单击目标RAM用户名称。
4,在用户AccessKey区域下,单击创建AccessKey。

php sdk

官方sdk使用文档

composer require aliyuncs/oss-sdk-php

示例使用laravel8。

上传文件

/**
 * aliyun oss upload file
 * $file_path example:'/storage/images/demo/1.png'
 */
public function uploadFile($file_path)
{
    if (!Config('common.oss.upload_status')) return false;
    $accessKeyId = Config('common.oss.accessKeyId');
    $accessKeySecret = Config('common.oss.accessKeySecret');
    $endpoint = Config('common.oss.endpoint');
    $bucket = Config('common.oss.bucket');
    // 上传到 xinchuan 文件夹
    $object = 'xinchuan' . $file_path;
    $filePath = public_path() . $file_path;
    try {
        $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
        $ossClient->uploadFile($bucket, $object, $filePath);
    } catch (OssException $e) {
        $log = 'type: uploadFile' . "\n";
        $log .= 'file_path: ' . $file_path . "\n";
        $log .= 'FAILED: ' . $e->getMessage();
        logWrite($log, 'oss');
    }
    return true;
}

删除文件

/**
 * aliyun oss delete file
 * $file_path example:'/storage/images/demo/1.png'
 */
public function deleteObject($file_path)
{
    if (!Config('common.oss.upload_status')) return false;
    $accessKeyId = Config('common.oss.accessKeyId');
    $accessKeySecret = Config('common.oss.accessKeySecret');
    $endpoint = Config('common.oss.endpoint');
    $bucket = Config('common.oss.bucket');
    $object = 'xinchuan' . $file_path;
    try{
        $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
        $ossClient->deleteObject($bucket, $object);
    } catch(OssException $e) {
        $log = 'type: deleteObject' . "\n";
        $log .= 'file_path: ' . $file_path . "\n";
        $log .= 'FAILED: ' . $e->getMessage();
        print_r($log);
        logWrite($log, 'oss');
    }
}
© 2021 Lh1010 - 豫ICP备16115435号-1