Help Center/ Object Storage Service/ SDK Reference/ PHP/ Object Upload/ Performing a File-Based Upload
Updated on 2023-11-09 GMT+08:00

Performing a File-Based Upload

If you have any questions during development, post them on the Issues page of GitHub. For details about parameters and usage of each API, see API Reference.

File-based upload uses local files as the data source of objects. Sample code is as follows:

// Import the dependency library.
require 'vendor/autoload.php';
// Import the SDK code library during source code installation.
// require 'obs-autoloader.php';
// Declare the namespace.
use Obs\ObsClient;
// Create an instance of ObsClient.
$obsClient = new ObsClient ( [ 
      //Obtain an AK/SK pair using environment variables or import the AK/SK pair in other ways. Using hard coding may result in leakage.
      //Obtain an AK/SK pair on the management console. For details, see https://support.huaweicloud.com/eu/usermanual-ca/ca_01_0003.html.
      'key' => getenv('ACCESS_KEY_ID'),
      'secret' => getenv('SECRET_ACCESS_KEY'),
      'endpoint' => 'https://your-endpoint'
] );

$resp = $obsClient->putObject([
       'Bucket' => 'bucketname',
       'Key' => 'objectname',
       'SourceFile' => 'localfile'  // Path of the local file to be uploaded. The file name must be specified.
]);

printf("RequestId:%s\n",$resp['RequestId']);
  • Use the SourceFile parameter to specify the path to the to-be-uploaded file.
  • SourceFile and Body cannot be used together.
  • The content to be uploaded cannot exceed 5 GB.