PHP: сохранить «динамический текст или PDF-контент» в облачном хранилище Google? - PullRequest
0 голосов
/ 21 ноября 2018

время выполнения: php

Процесс загрузки файла GCS:

$storage = new StorageClient();
$file = fopen($source, 'r');
$bucket = $storage->bucket($bucketName);
$object = $bucket->upload($file, [
  'name' => $objectName
]);

Теперь я хочу создать объектс динамическим текстом / pdf вместо использования $source файла пути.

например:

$storage = new StorageClient();
$objectName = "newfile.txt";
$content = "This is the dynamic content";
$bucket = $storage->bucket($bucketName);
$object = $bucket->upload($content, [
    'name' => 'textDocs/'.$objectName
]);

, поэтому он создаст новый объект как "newfile.txt" с контентом "Это динамический контент".

есть ли облачные библиотеки или функции для обработки этого?
заранее спасибо

1 Ответ

0 голосов
/ 22 ноября 2018

Для динамического создания текстового документа (с динамическим содержимым) в Google-облачном хранилище, приведенный ниже код будет работать отлично.

$storage = new StorageClient();
$objectName = "newfile.txt";                  // name of object/text-file
$content = "This is the dynamic content";     // assign static/dynamic data to $content variable
$bucket = $storage->bucket($bucketName);
$object = $bucket->upload($content, [
    'name' => 'textDocs/'.$objectName
]);

Для динамического создания PDF-документа (с динамическим содержимым) в облачном хранилище Google.

$name = "samplePDF.pdf";
$p = new PDFTable("L");
$p->AddPage();
$p->setfont('helvetica','',12);
$p->htmltable($html);
$pdfData = $p->output("",'S'); // returns pdf as string
$filename = "pdfDocs/".$name;
/** 
 * file uploading into google cloud storage : start
 */
$storage->bucket($bucketName, true)->upload(
    $pdfData,
    [
    'name' => $filename,
    'predefinedAcl' => 'publicRead'
    ]
);
/** 
 * file uploading into google cloud storage : end
 */
$p->output($name,"D"); // D->downloads file in our system.
...