Я пытаюсь преобразовать JPG (ну любое изображение) в PNG. У меня есть HTML-форма, которая хорошо помещает изображение на сервер. Мне нужно переименовать этот файл, а также преобразовать его в PNG. Позже в моем коде после того, как я сделаю связанную таблицу базы данных, я снова переименую файл, чтобы добавить идентификатор записи к имени файла, чтобы обеспечить его уникальность.PHP Преобразование изображения POST в PNG
Я скорее объективный программист C, чем PHP, поэтому я боюсь здесь с этим кодом, который я нашел в других вопросах, которые, похоже, не работают для меня.
Вот print_r($_FILES);
Array ([image] => Array ([name] => BBnL9Ho.jpg [type] => image/jpeg [tmp_name] => /tmp/phphhqHam [error] => 0 [size] => 1636))
Итак, я хочу, чтобы преобразовать его в PNG и переименовать BBnL9Ho.jpg to image1.png
. Я попытался, используя следующий код, но безрезультатно:
$newfileName = imagepng(imagecreatefromjpeg($_FILES['image']['tmp_name']), "image1.png");
Позже после того, как я связанный таблицы базы данных INSERT, я снова изменить имя и добавить идентификатор соответствующей записи базы данных (хранить имя файла в отдельная таблица, то остальные формы данных из-за одного до многих отношений):
$fileName="$lastinsertID".$newfileName;
Тогда я вставляю это имя в базу данных, которая входит правильно. то мне нужно, чтобы переместить файл в директории, дата загрузки я пытаюсь сделать так:
move_uploaded_file("$fileName",$dir . $fileName);
Вот где моя проблема. Файл не перемещается. И когда я проверяю атрибуты файла, кажется, что он фактически не конвертировал файл. Я использую это, чтобы проверить тип:
$fileType = $_FILES["image"]["type"];
и он по-прежнему показывает, что это JPG. Я должен упустить что-то очень очевидное, но я был бы признателен за некоторую помощь.
спасибо.
Ничего себе это здорово! Спасибо! Я буду работать над реализацией и вернуться к вам. Спасибо огромное! Мне может потребоваться несколько дней, чтобы вернуться к нему. – mreynol
@mreynol Добро пожаловать. Сообщите мне о прогрессе. –
Okay Я смог сделать снимок, и он получил гораздо больше. Он преобразовал изображение в PNG !! :). Он также сохранил новое имя изображения в базе данных, но он добавил имя каталога, куда я хочу переместить, в имя файла в базе данных. Кроме того, он не переместил файл в мое местоположение в $ dir. Наконец, я хотел бы получить результирующее изображение (lastinsertID) image1.png (например, 12345image1.png). – mreynol