Сериализация нескольких загруженных изображений из Cloudinary - PullRequest
0 голосов
/ 30 октября 2018

Я пытаюсь загрузить несколько изображений в Cloudinary. Использование Ajax для записи данных в sql, используя второй файл php. Данные также должны быть сериализованы при загрузке и не сериализованы при отображении. Причина сериализации заключается в том, что мне нужно больше информации при загрузке изображений, например, защищенный URL, оригинальное имя файла и т. Д. Ниже приведен фрагмент кода, который записывает в файл php ниже этого.

 cloudinary.openUploadWidget({         
    cloud_name: 'username',
    upload_preset: 'preset',      
    sources: ['local', 'camera'], 
    multiple: true,}, 
function (error, result) {      
  console.log(error, result);  
  const eventData = result.data;
  if (result.event === "success") {
        var user_id = <?php echo $user['user_id']; ?>;         
        var image_name = result.info.original_filename;
        var image_url = result.info.secure_url;
        var thumbnail_url = result.info.thumbnail_url;
            $.ajax({
                url: "save.php",
                type: "POST",
                data: {
                  image_url : image_url,
                  image_name : image_name,
                  thumbnail_url : thumbnail_url,

                }
            });
        document.getElementById("images").innerHTML += '<li class="cloudinary-thumbnail active"><img src="'+result.info.thumbnail_url+'" data-src="'+result.info.thumbnail_url+'" ><input type="hidden" name="image_name[]" value="'+result.info.original_filename+'"><input type="hidden" name="image_url[]" value="'+result.info.secure_url+'"><h5>'+result.info.original_filename+'</h5></li>'; 
        }
});}, false);

Вот файл save.php

    if ($_POST) {
    $user_id = $_POST['user_id'];
    $image_name = $_POST['image_name'];
    $image_url = $_POST['image_url'];
$thumbnail_url = $_POST['thumbnail_url'];
$arraylength = $_POST['arraylength'];
  $images = array();
    for ($i=0; $i < sizeof($image_name); $i++) { 
        $images[$i]['name'] = $image_name;
        $images[$i]['url'] = $image_url;
  $images[$i]['thumbnail_url'] = $thumbnail_url;
    };


    try {
        $stmt = $db->prepare("UPDATE images_collection SET images = :images WHERE user_id = :user_id");
        $stmt->execute(array(
            ':images'=>serialize($images),
            ':user_id'=>$user_id
        ));
        echo "true";
    } catch (PDOException $e) {
        echo $e->getMessage();
    }

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