Вставить имя файла из formdata

Рейтинг: 0Ответов: 0Опубликовано: 30.07.2023

Создаю пдф на сервере. Хочу присвоить ей случайное имя. Но никак не пойму, как в php подхватить переменную

Создаем pdf - все работает

function createPDF() {  
        getCanvas().then(function (canvas) {  
            var  
             img = canvas.toDataURL("image/png"),  
             doc = new jsPDF({  
                 unit: 'px',  
                 format: 'a4'  
             });  
            doc.addImage(img, 'JPEG', 20, 20);  
             var blob = doc.output('blob');

            var formData = new FormData();
            var dt = new Date();
            var time = Math.floor(Math.random() * 1000) + 1 + "" + dt.getHours() + "" + dt.getMinutes();
            document.getElementById('fileName').value = time;
         
           formData.append('pdf', blob);
           formData.append('fileName', time);
            $.ajax(
            '/drova/upload.php',
            {
                method: 'POST',
                data: formData,
                processData: false,
                contentType: false,
                success: function(data){console.log(data)},
                error: function(data){console.log(data)}
            });
            form.width(cache_width);  
        });  
    }  

Далее простейший обработчик, в котором я хочу получить filename и назвать так файл.

<?php

$name = $_POST['filename'];
move_uploaded_file(
    $_FILES['pdf']['tmp_name'], $_SERVER['DOCUMENT_ROOT'] . "/drova/".$name.".pdf"
);
?>

Файл создается, но без имени. Как мне создать файл с нужным мне именем, которое передается через formData.append('fileName', $("#fileName").val());

var_dump POST показывает это - мне как раз эту цифру и нужно в название файла вставить

array(1) {
  ["fileName"]=>
  string(7) "5501226"
}

Ответы

Ответов пока нет.