用php上传图片到阿里云oss

如果你想自动创建目录并将文件上传到新的目录下,你可以使用阿里云 OSS 的 `createObject` 方法来实现。下面是更新后的示例代码:

```php
<?php
require_once __DIR__ . '/vendor/autoload.php'; // 引入 SDK

use OSS\OssClient;
use OSS\Core\OssException;

// 阿里云 OSS 的配置信息
$accessKeyId = '你的 AccessKeyId';
$accessKeySecret = '你的 AccessKeySecret';
$endpoint = '你的 OSS 存储空间的 Endpoint';
$bucket = '你的 Bucket 名称';

// 实例化 OSS 客户端
$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);

// 获取上传的文件信息
$uploadedFile = $_FILES['file'];
$fileName = $uploadedFile['name'];
$fileTmpPath = $uploadedFile['tmp_name'];

// 创建目录
$directory = '新目录名称/'; // 设置新的目录名称
$object = $directory . $fileName;

// 上传文件到 OSS
try {
   $ossClient->createObjectDir($bucket, $directory); // 创建目录
   $ossClient->uploadFile($bucket, $object, $fileTmpPath); // 上传文件
   echo '文件上传成功!';
} catch (OssException $e) {
   echo '文件上传失败:' . $e->getMessage();
}
```

在这个示例中,我们使用 `createObjectDir` 方法来创建新的目录,并使用 `uploadFile` 方法将文件上传到指定的目录中。请确保将 `'新目录名称/'` 替换为你想要创建的目录名称。

这样,当用户上传文件时,将自动创建目录并将文件上传到新的目录中。

你可以使用阿里云 OSS 的 `doesObjectExist` 方法来判断一个目录是否存在,如果不存在则可以使用 `createObjectDir` 方法来创建目录。下面是一个示例代码:

```php
<?php
require_once __DIR__ . '/vendor/autoload.php'; // 引入 SDK

use OSS\OssClient;
use OSS\Core\OssException;

// 阿里云 OSS 的配置信息
$accessKeyId = '你的 AccessKeyId';
$accessKeySecret = '你的 AccessKeySecret';
$endpoint = '你的 OSS 存储空间的 Endpoint';
$bucket = '你的 Bucket 名称';

// 实例化 OSS 客户端
$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);

// 获取上传的文件信息
$uploadedFile = $_FILES['file'];
$fileName = $uploadedFile['name'];
$fileTmpPath = $uploadedFile['tmp_name'];

// 判断目录是否存在
$directory = '新目录名称/'; // 设置目录名称
$exist = $ossClient->doesObjectExist($bucket, $directory);

if (!$exist) {
   // 创建目录
   try {
      $ossClient->createObjectDir($bucket, $directory);
   } catch (OssException $e) {
      echo '目录创建失败:' . $e->getMessage();
      exit;
   }
}

// 上传文件到 OSS
try {
   $object = $directory . $fileName;
   $ossClient->uploadFile($bucket, $object, $fileTmpPath);
   echo '文件上传成功!';
} catch (OssException $e) {
   echo '文件上传失败:' . $e->getMessage();
}
```

在这个示例中,我们使用 `doesObjectExist` 方法来判断目录是否存在,如果不存在则使用 `createObjectDir` 方法创建目录。然后再使用 `uploadFile` 方法将文件上传到指定的目录中。请确保将 `'新目录名称/'` 替换为你想要创建的目录名称。

相关推荐

  1. php图片阿里oss

    2023-12-05 18:16:03       61 阅读
  2. 3.图片阿里空间,oss验证)

    2023-12-05 18:16:03       25 阅读
  3. PHP实现阿里OSS文件

    2023-12-05 18:16:03       58 阅读
  4. 如何使用断点续方式大文件阿里 OSS

    2023-12-05 18:16:03       20 阅读
  5. 后端文件使用阿里oss存储文件(图片

    2023-12-05 18:16:03       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-05 18:16:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-05 18:16:03       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-05 18:16:03       82 阅读
  4. Python语言-面向对象

    2023-12-05 18:16:03       91 阅读

热门阅读

  1. js获取当前时间,当日零点,前一周时间

    2023-12-05 18:16:03       50 阅读
  2. PyTorch:模型加载方法详解

    2023-12-05 18:16:03       57 阅读
  3. QT基础教程(文本绘制)

    2023-12-05 18:16:03       56 阅读
  4. Verilog基本语法概述

    2023-12-05 18:16:03       62 阅读
  5. 3台4核16G机器搭建K8S集群

    2023-12-05 18:16:03       55 阅读
  6. element-UI中el-scrollbar的使用

    2023-12-05 18:16:03       58 阅读
  7. OWASP Web 安全测试指南-Web 应用程序安全测试

    2023-12-05 18:16:03       56 阅读
  8. Vue3使用阿里云OSS直传

    2023-12-05 18:16:03       64 阅读