Облачная загрузка php не удалась, как это исправить? - PullRequest
0 голосов
/ 10 января 2020

Я пытаюсь использовать cloudinary для загрузки своего изображения и видео в личный блог, но это не получается. Я смотрю этот видеоурок https://www.youtube.com/watch?v=oZCQLjfq97o. ошибка говорит:

Примечание: неопределенный индекс: файл в> C: \ xampp7 \ htdocs \ lovantoBlog \ cloudinary \ index. php в строке 8

Примечание: Неопределенный индекс: файл в> C: \ xampp7 \ htdocs \ lovantoBlog \ cloudinary \ index. php в строке 9

Неустранимая ошибка: Uncaught Cloudinary \ Ошибка: отсутствует обязательный параметр - файл в C : \ xampp7 \ htdocs \ lovantoBlog \ cloudinary \ vendor \ cloudinary \ cloudinary_php \ src \ Uploader. php: 558 Трассировка стека: # 0 C: \ xampp7 \ htdocs \ lovantoBlog \ cloudinary \ vendor \ cloudinary \ cloudinary_php \ src \ Uploader. php (407): Cloudinary \ Uploader :: call_api ('upload', Array, Array, NULL) # 1 C: \ xampp7 \ htdocs \ lovantoBlog \ cloudinary \ vendor \ cloudinary \ cloudinary_php \ src \ Uploader. php (100): Cloudinary \ Uploader :: call_cacheable_api ('upload', Array, Array, NULL) # 2 C: \ xampp7 \ htdocs \ lovantoBlog \ cloudinary \ index. php (11): Cloudinary \ Uploader :: upload (NULL, Array) # 3 {main} добавляется в C: \ xampp7 \ htdocs \ lovantoBlog \ cloudinary \ vendor \ cloudinary \ cloudinary _php \ src \ Uploader. php в строке 558

Это мой код для загрузки:

require 'vendor/autoload.php';
require 'config.php';

if (isset($_POST['Simpan'])) {
    $nama = $_POST['nama'];
    $slug = $_POST['slug'];
    $gambar = $_FILES['file']['name'];
    $file_tmp = $_FILES['file']['tmp_name'];

    \Cloudinary\Uploader::upload($file_tmp, array('public_id' => $slug));
}

, а это код формы:

<form method="POST">
    <input type="text" name="nama">
    <input type="text" name="slug">
    <?php echo cl_image_upload_tag('image_id');?>
    <input type="submit" name="Simpan" value="Simpan">
</form>

1 Ответ

0 голосов
/ 10 января 2020

cl_image_upload_tag используется для прямой загрузки из браузера в Cloudinary. Когда вы отправляете форму, в ваш бэкэнд не отправляется параметр файла, поэтому вызов Cloudinary::Uploader::upload завершается неудачно с ошибкой Missing required parameter - file.

Если вы хотите загрузить файл из бэкэнда, тогда вам нужно заменить cl_image_upload_tag обычным элементом поля ввода файла. После выбора файла и отправки формы ваш бэкэнд может использовать тот же код для загрузки файла в Cloudinary.

С другой стороны, если вы хотите использовать cl_image_upload_tag, обратитесь к разделу прямой загрузки: Облачная документация, описывающая настройку этого. https://cloudinary.com/documentation/php_image_and_video_upload#direct_upload_file_tag

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...