Вставить имя файла из formdata
Создаю пдф на сервере. Хочу присвоить ей случайное имя. Но никак не пойму, как в 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"
}
Источник: Stack Overflow на русском