|
0 / 0 / 0
Регистрация: 16.02.2020
Сообщений: 28
|
|
Добавление изображений разных форматов (gif, jpg, и т.д.)17.02.2020, 20:55. Показов 2030. Ответов 9
Здравствуйте. Как сделать так, чтобы можно было добавлять разные форматы изображений? Все нижеперечисленные файлы запускаются через OpenServer
//dbconnection.php <?php $localhost = "localhost"; $db = "library2"; $user = "root"; $password = ""; $link = mysqli_connect("localhost", "root", "", "library2"); if (!$link) { echo "Нет соединения с сервером" . PHP_EOL; echo "Код ошибки errno: ". mysqli_connect_errno(). PHP_EOL; echo "Текст ошибки error: ". mysqli_connect_error(). PHP_EOL; exit; } ?> //index1.php <html> <head> <meta charset="utf-8"> <title>Загрузка изображений на сервер</title> <style> a{ text-decoration: none; } </style> </head> <body> <form method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" value="Загрузить на сервер"> </form> <?php require_once "dbconnection.php"; $files = scandir('small/'); $rows = mysqli_query($link, "SELECT * FROM images"); $array; while ($data = mysqli_fetch_array($rows)) { $clicks = $data['clicks']; $name = $data['name']; $array[$name] = $clicks; } arsort($array, SORT_NUMERIC); foreach ($array as $key => $value2) { foreach ($files as $value) { $getMime = explode('.', $value); $name = reset($getMime); if ($key === $name) echo "<a href='view_image.php?base=img_view&file_ name=$value' target='_blank'>  <img src=small/$value width='100' height='111'><img></a>"; } } if(isset($_FILES['file'])) { $check = can_upload($_FILES['file']); if ($check === true) { make_upload($_FILES['file']); $getMime = explode('.', $_FILES['file']['name']); $mime = strtolower(end($getMime)); $name = reset($getMime); save_to_db($name, $mime); echo '<script language="javascript">' . 'alert("Файл загружен")' . '</script>'; } else { echo "<strong>$check</strong><br /><br />"; } } function can_upload($file) { if($file['name'] == '') return 'Вы не выбрали файл.'; if($file['size'] == 0) return ''; $getMime = explode('.', $file['name']); $mime = strtolower(end($getMime)); $types = array('jpg', 'png', 'gif', 'bmp', 'jpeg'); if(!in_array($mime, $types)) return 'Недопустимый тип файла.'; return true; } function make_upload($file) { copy($file['tmp_name'], 'large/' . $file['name']); copy($file['tmp_name'], 'small/' . $file['name']); $filename = $file['name']; $size=GetImageSize ("small/$filename"); $src=ImageCreateFromJPEG ("small/$filename"); $iw=$size[0]; $ih=$size[1]; $koe=$iw/150; $new_h=ceil ($ih/$koe); $dst=ImageCreateTrueColor (150, $new_h); ImageCopyResampled ($dst, $src, 0, 0, 0, 0, 150, $new_h, $iw, $ih); ImageJPEG ($dst, "small/$filename", 100); imagedestroy($src); } function save_to_db($name, $type) { $link=mysqli_connect ("localhost","root",""); mysqli_connect ("localhost","root","") or die ("Невозможно подключиться к серверу"); mysqli_select_db($link,"gallery") or die("Нет такой таблицы!"); $zapros = "INSERT INTO images SET name='" . $name . "', type='" . $type . "' , clicks='0'"; mysqli_query($link,$zapros); if(mysqli_affected_rows($link) > 0) { echo '<script language="javascript">' . 'alert("Данные сохранены")' . '</script>'; } else { echo "Ошибочка вышла."; } } ?> </body> </html> //gallery.sql -- phpMyAdmin SQL Dump -- version 4.8.3 -- https://www.phpmyadmin.net/ -- -- Хост: 127.0.0.1 -- Время создания: Фев 25 2019 г., 04:45 -- Версия сервера: 10.1.37-MariaDB -- Версия PHP: 7.2.12 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET AUTOCOMMIT = 0; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SE T_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_S ET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CO NNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- База данных: `gallery` -- -- -------------------------------------------------------- -- -- Структура таблицы `images` -- CREATE TABLE `images` ( `id` int(6) NOT NULL, `name` varchar(255) NOT NULL, `type` varchar(255) NOT NULL, `clicks` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Дамп данных таблицы `images` -- INSERT INTO `images` (`id`, `name`, `type`, `clicks`) VALUES (2, 'Tulips', 'jpg', '2'), (6, 'iRPT162WZ', 'jpg', '1'); -- -- Индексы сохранённых таблиц -- -- -- Индексы таблицы `images` -- ALTER TABLE `images` ADD PRIMARY KEY (`id`); -- -- AUTO_INCREMENT для сохранённых таблиц -- -- -- AUTO_INCREMENT для таблицы `images` -- ALTER TABLE `images` MODIFY `id` int(6) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7; COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_ CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET _RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONN ECTION */; //view_image.php <html> <head> <meta charset="utf-8"> <title>Просмотр изображений</title> </head> <body> <?php $link=mysqli_connect ("localhost","root",""); mysqli_connect ("localhost","root","") or die ("Невозможно подключиться к серверу"); mysqli_select_db($link,"gallery") or die("Нет такой таблицы!"); mysqli_query($link,"SET NAMES 'cp1251'"); mysqli_query($link,"SET CHARACTER SET 'cp1251'"); $getMime = explode('.', $_GET['file_name']); $name = reset($getMime); $row = mysqli_query($link,"SELECT clicks FROM images WHERE name='" . $name . "'"); $data = mysqli_fetch_array($row); $clicks = $data['clicks']; ++$clicks; $zapros="UPDATE images SET clicks='" . $clicks ."' WHERE name='" . $name ."'"; mysqli_query($link,$zapros); $file = "large/" . $_GET['file_name']; echo "<center><img src='$file'></img></center>"; echo "<center><strong>Количество просмотров: $clicks</strong></center>" ?> </body> </html>
0
|
|
| 17.02.2020, 20:55 | |
|
Ответы с готовыми решениями:
9
Добавление изображений разных форматов (gif, jpg, и т.д.) Отрисовка изображений разных форматов
|
|
Невнимательный
|
||
| 17.02.2020, 21:38 | ||
$types = array('jpg', 'png', 'gif', 'bmp', 'jpeg'); ?или не получается прикрутить кроме этой ImageCreateFromJPEG() ещё imagecreatefromgif() imagecreatefrompng() imagecreatefrombmp() или просто imagecreatefromstring() Что-то как-то не работает?
0
|
||
|
0 / 0 / 0
Регистрация: 16.02.2020
Сообщений: 28
|
|
| 19.02.2020, 14:41 [ТС] | |
|
Эмм...При запуске выходят ошибки:
0
|
|
|
0 / 0 / 0
Регистрация: 16.02.2020
Сообщений: 28
|
||||||||||||||||
| 19.02.2020, 15:11 [ТС] | ||||||||||||||||
|
По идее он должен отображать все изображения, сохранённые в базе gallery
Добавлено через 4 минуты
0
|
||||||||||||||||
|
0 / 0 / 0
Регистрация: 16.02.2020
Сообщений: 28
|
|
| 19.02.2020, 15:21 [ТС] | |
|
Базу данных из library2 перевёл в gallery. В БД данные добавляются. Но вместо отображения выскакивают ошибки
0
|
|
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
||||||||||||||||||||||||||||||||||
| 19.02.2020, 19:59 | ||||||||||||||||||||||||||||||||||
|
так получается, когда делаешь то, что еще не понимаешь. ну как говорится повторение мать учения. не обижайтесь. смотрите по-порядку разбор кода. файл dbconnection.php. зачем там переменные
5) зачем _target -окна разводить, лучше откройте в том же окне, а из файла view_image.php сделать возвратную ссылку на index.php 6) что там делает странный тег <img> в-общем, строки с 18 по 38 можно переписать так
поэтому дольше код так примерно
$name = reset($getMime); лучше заменить на $getMime[0]; в-общем исправьте это, а остальные мелочи потом
0
|
||||||||||||||||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 16.02.2020
Сообщений: 28
|
||||||
| 21.02.2020, 08:52 [ТС] | ||||||
|
Код изменил...примерно.
Вышла ошибка: Parse error: syntax error, unexpected 'if' (T_IF) in C:\Users\User\Desktop\OSPanel\domains\ga llery\index1.php on line 67 Код:
На 65 добавил в конце закрывающую круглую скобку-вышла ошибка: Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\Users\User\Desktop\OSPanel\domains\ga llery\index1.php on line 22
0
|
||||||
|
0 / 0 / 0
Регистрация: 16.02.2020
Сообщений: 28
|
|
| 21.02.2020, 09:29 [ТС] | |
|
По информации из интернета добавил вначале код:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); Вышло при запуске:
0
|
|
|
0 / 0 / 0
Регистрация: 16.02.2020
Сообщений: 28
|
|
| 21.02.2020, 09:30 [ТС] | |
|
Наверное, я делаю что то не так
0
|
|
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
||||||
| 21.02.2020, 11:11 | ||||||
Сообщение было отмечено Linar1 как решение
Решение
сейчас все мелочи доделаем. посмотрите в myphpadmin базу library2 - есть ли в ней таблица images?
весь код перепишите примерно так
0
|
||||||
| 21.02.2020, 11:11 | |
|
Помогаю со студенческими работами здесь
10
Связь GIF и mp-3 форматов Код конвертации форматов PCX GIF, TIFF в BMP Поиск файлов форматов pdf, jpg, png в папке и подпапках Gif в кучу jpg Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU
YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей.
Звучит. . .
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит:
токи, напряжения и их 1 и 2 производные при t = 0;. . .
|
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|