Я на самом деле пытаюсь загрузить изображение из его URI в хранилище Firebase моего проекта.
Примечание 1. Кажется, что мой доступ к Firebase работает правильно, так как я могу писать и читать вмоя база данных Firestore, использующая тот же SDK. Я установил весь костюм, используя composer.
Примечание 2: Я не использую $ _FILES [] напрямую, так как редактирую свое изображение после того, как оно было выбрано. Следовательно, входные данные моего файла не совпадают с моим отредактированным изображением.
Примечание 3: При отправке обратно в файл формы URI отредактированного изображения прекрасно работает в теге.
1- ВМой файл формы:
<img class="rounded" id="header" src="images/header_placeholder.png" alt="header">
<input type="file" class="sr-only" id="header_input" name="header_img" accept="image/*">
<input id="header_img_url" name="header_img_url" type="hidden" value="">
Значение моего скрытого ввода переназначается с моим URI отредактированного изображения перед отправкой.
2- В моем загружаемом файле PHP (я забрал большую часть кода пожарного хранилища дляясность)
<?php
require '../../vendor/autoload.php';
use Google\Cloud\Firestore\FirestoreClient;
use Google\Cloud\Core\GeoPoint;
use Google\Cloud\Storage\StorageClient;
function generateRandomString($length = 20) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyz';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}
$db = new FirestoreClient([
'projectId' => 'hotpot-XXXXX',
]);
# Instantiates a client
$storage = new StorageClient([
'projectId' => 'hotpot-XXXXX',
]);
$bucket = $storage->bucket('gs://hotpot-XXXXX.appspot.com/');
$headerImgID = generateRandomString();
$iconeImgID = generateRandomString();
$file = fopen($_POST['header_img_url'], 'r');
$bucket->upload($file, [
'name' => $headerImgID
]);
Мой скрипт на самом деле аварийно завершает работу при наличии строк загрузки:
$bucket->upload($file, [
'name' => $headerImgID
]);
Я надеюсь, что вы можете помочь мне найти, где я ошибаюсь, потому что я искал и пыталсямного, и все же я не могу это исправить: /