Как создать динамическую структуру папок в облачном хранилище Google с помощью PHP? - PullRequest
0 голосов
/ 01 ноября 2019

Эй, ребята, я новичок в облачном хранилище Google. Я пытаюсь использовать Google Cloud Storage в своем проекте PHP - и я хочу динамически создавать папку в корзину и подпапку в созданную папку.

Как я могу создать это, пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 01 ноября 2019

Вам не нужно создавать папки, как обычно, в файловой директории на диске. В облачном хранилище все объекты, даже папки. здесь - полное объяснение того, как работают каталоги.

Поскольку все является объектом, вы можете создавать папки, так как файлы создаются только путем окончания имени с косой чертой '/' или с помощью "$ folder $ "

Другой способ - это когда вы создаете файл в вашем ведре так же, как часть имени помещает папки. т.е. дать полное имя как / folder / subfolder / file

Я напишу пример на PHP с использованием клиентской библиотеки

use Google\Cloud\Storage\StorageClient;

/**
 * Upload a file.
 *
 * @param string $bucketName the name of your Google Cloud bucket.
 * @param string $objectName the name of the object.
 * @param string $source the path to the file to upload.
 *
 * @return Psr\Http\Message\StreamInterface
 */
function upload_object($bucketName, $objectName, $source, $folder)
{
    $storage = new StorageClient();
    $file = fopen($source, 'r');
    $bucket = $storage->bucket($bucketName);
    $object = $bucket->upload($file, [
        'name' => $folder."/".$objectName
    ]);
    printf('Uploaded %s to gs://%s/%s' . PHP_EOL, basename($source), $bucketName, $objectName);
}

Если вы хотите использовать REST API для этогоВажно избегать специальных символов в именах, чтобы иметь возможность передавать их как URL-адреса

...