На моей странице есть холст с кнопкой Сохранить, которая сохраняет PNG
файл изображения.
function save() {
var canvas = document.getElementById('drawing');
var dataURL = canvas.toDataURL();
$.ajax({
type: "POST",
url: "canvas_ajax_upload_post.php",
data: { img: dataURL }
}).done(function(msg){
alert(msg);
});
}
canvas_ajax_upload_post.php
выглядит следующим образом:
<?php
$img = $_POST['img'];
if (strpos($img, 'data:image/png;base64') === 0) {
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = 'uploads/img'.date("YmdHis").'.png';
if (file_put_contents($file, $data)) {
echo "The canvas was saved as $file.";
} else {
echo 'The canvas could not be saved.';
}
}
?>
Это отлично работает, изображения сохраняются в папке загрузки на моем сервере.То, что я пытался сделать, это сохранить имя файла в моей базе данных SQL.У меня есть скрытое поле формы на главной странице, которому я хотел бы передать имя файла или путь к файлу после сохранения изображения, но я не могу понять, как это сделать.
Я попытался встроить код JavaScript
в файл PHP
, но он просто обрабатывает его как текстовую строку и включает его во всплывающее окно с предупреждением.По сути, я пытаюсь использовать переменную $file
из файла php в коде JavaScript
.
E.g. document.getElementById("hidden_form_field").value = $file;
Кто-нибудь может помочь?