Current Location: Home> Latest Articles> PHP Implementation of Alibaba Cloud OSS Image Upload and Management (with Code Examples)

PHP Implementation of Alibaba Cloud OSS Image Upload and Management (with Code Examples)

gitbox 2025-08-07

Introduction

Alibaba Cloud OSS (Object Storage Service) is a highly available and scalable cloud storage service that can store and access various types of data, including text, images, and videos. In PHP projects, by using the Alibaba Cloud OSS SDK, we can easily implement image uploading, management, and maintenance functions.

Installation and Configuration

Before getting started, you need to install the Alibaba Cloud OSS SDK. It is recommended to install it via Composer:

composer require aliyuncs/oss-sdk-php

After installation, configure your OSS connection information, including AccessKeyId, AccessKeySecret, Endpoint, and Bucket:

define('OSS_ACCESS_KEY_ID', 'your_access_key_id');
define('OSS_ACCESS_KEY_SECRET', 'your_access_key_secret');
define('OSS_ENDPOINT', 'your_endpoint');
define('OSS_BUCKET', 'your_bucket_name');

Uploading Images

First, create an OSS client:

$ossClient = new \OSS\OssClient(OSS_ACCESS_KEY_ID, OSS_ACCESS_KEY_SECRET, OSS_ENDPOINT);

Then call the uploadFile method to upload an image:

$object = 'path/to/save/image.jpg';
$filePath = '/path/to/local/image.jpg';
try {
    $ossClient->uploadFile(OSS_BUCKET, $object, $filePath);
    echo "Image uploaded successfully";
} catch (OssException $e) {
    echo "Image upload failed: " . $e->getMessage();
}

Here, $object represents the file path and name in OSS, and $filePath is the local file path.

Retrieving Image Information

Use the getObjectMeta method to get metadata such as file size and creation time:

$object = 'path/to/save/image.jpg';
try {
    $info = $ossClient->getObjectMeta(OSS_BUCKET, $object);
    echo "Image size: " . $info['content-length'] . " bytes";
} catch (OssException $e) {
    echo "Failed to get image information: " . $e->getMessage();
}

Deleting Images

Call the deleteObject method to delete an image:

$object = 'path/to/save/image.jpg';
try {
    $ossClient->deleteObject(OSS_BUCKET, $object);
    echo "Image deleted successfully";
} catch (OssException $e) {
    echo "Image deletion failed: " . $e->getMessage();
}

Conclusion

By using the PHP version of the Alibaba Cloud OSS SDK, we can efficiently implement image uploading, metadata retrieval, and deletion operations. On top of this, more advanced features such as image compression and watermarking can be added to meet various business requirements.