Following on from this post, I use the BunnyCDN PHP API class to create folders, delete and rename files in a Storage zone.
Setting my imageBackups Storage zone user and password:
$bunny->zoneConnect('imagebackups', 'PASSWORD-HERE');I can now interact with the Storage zone using the BunnyCDN API PHP class.
Creating folders
Creating 2 new folders in the root directory of imageBackups is done with:
$bunny->createFolder('Camera');
$bunny->createFolder('Phone');$bunny->jsonHeader();
echo $bunny->listAll('');Returns
{
"storage_name": "imagebackups",
"current_dir": "",
"data": [
{
"name": "adroneimage.jpg",
"file_type": "jpg",
"size": 876.76171875,
"is_dir": false,
"created": "2019-11-26 04:42:17",
"last_changed": "2019-11-26 04:42:17",
"guid": "09ab5cbb-2e97-4390-8782-05f7018cf9da"
},
{
"name": "Camera",
"file_type": null,
"size": null,
"is_dir": true,
"created": "2019-11-28 05:20:16",
"last_changed": "2019-11-28 05:20:16",
"guid": "98d0b5b3-8971-4f17-a1b7-e2d5774aec01"
},
{
"name": "Drone",
"file_type": null,
"size": null,
"is_dir": true,
"created": "2019-11-26 04:30:20",
"last_changed": "2019-11-26 04:30:20",
"guid": "906cde44-aaa5-464d-8d92-3a019c1a2854"
},
{
"name": "Phone",
"file_type": null,
"size": null,
"is_dir": true,
"created": "2019-11-28 05:20:17",
"last_changed": "2019-11-28 05:20:17",
"guid": "0544ea46-dcd1-4f91-b836-a1f7bf4d42b5"
}
]
}This data shows details about objects and amongst this what is a directory or file.
Deleting a file
Let’s delete adroneimage.jpg by doing
echo $bunny->deleteFile('adroneimage.jpg');From this previous post I uploaded some images into Drone/theLake I can check this by doing:
echo $bunny->listAll('/Drone/theLake');Which returns
{
"storage_name": "imagebackups",
"current_dir": "/Drone/theLake",
"data": [
{
"name": "adroneimage.jpg",
"file_type": "jpg",
"size": 876.76171875,
"is_dir": false,
"created": "2019-11-26 04:43:51",
"last_changed": "2019-11-26 04:43:51",
"guid": "a8d8a1f0-5915-4cf2-b538-a305fe4d440e"
},
{
"name": "tullaroop-reservoir-drone-15.jpg",
"file_type": "jpg",
"size": 984.2802734375,
"is_dir": false,
"created": "2019-11-26 04:53:38",
"last_changed": "2019-11-26 04:53:38",
"guid": "c559636e-7d14-4ff5-97a7-e9cc6247e5cd"
},
{
"name": "tullaroop-reservoir-drone-16.jpg",
"file_type": "jpg",
"size": 1118.3857421875,
"is_dir": false,
"created": "2019-11-26 04:53:49",
"last_changed": "2019-11-26 04:53:49",
"guid": "981b68b3-4b53-4717-aa3a-78b714cf2481"
}
]
}Getting the overall size of this directory:
echo $bunny->dirSize('/Drone/theLake');Returns:
{
"dir": "/Drone/theLake",
"files": 3,
"size_b": 3050934,
"size_kb": "2,979.428",
"size_mb": "2.910",
"size_gb": "0.003"
}Rename
I want to rename adroneimage.jpg to tullaroop-reservoir-drone-14.jpg I can do that with:
echo $bunny->rename('Drone/theLake/adroneimage.jpg', 'Drone/theLake/tullaroop-reservoir-drone-14.jpg');Now the file is renamed.