Я пытаюсь загрузить файл в облачное хранилище с cloud libraries
и обнаружил, что проблема в $_FILES["file"]["tmp_name"]
.Обычно я использовал бы move_uploaded_file ( $_FILES["file"]["tmp_name"] , $new_file_name )
на обычном сервере, но в appengine это невозможно, вам нужно использовать эту функцию для загрузки в облачное хранилище.
require __DIR__ . '/../../vendor/autoload.php';
use Google\Cloud\Storage\StorageClient;
function upload_object($bucketName, $objectName, $source) {
$storage = new StorageClient();
$file = fopen($source, 'r');
$bucket = $storage->bucket($bucketName);
$object = $bucket->upload($file, [
'name' => $objectName
]);
}
$new_file_name = "";
$new_file_name = "file-".rand(10,90000).".pdf";
upload_object('bucket-name', $new_file_name, $_FILES["file"]["tmp_name"]);
Но это может загружать только файлы из appengine
вcloudstorage
не файлы, отправленные на PHP
с AJAX
Проблема должна быть vfs://root/uploads/0
, но почему?