Показать вставленное изображение с предыдущей страницы

0

Я делаю секретный сайт, который позволяет пользователям вставлять изображения. Данные изображения отправляются через форму на страницу verify.php. Можно ли отобразить изображение на verify.php? Я пытался смотреть онлайн, но я нашел ответы только от людей, которые сначала вставляли изображение в mysql, а затем отображали его.

Вот мой код для страницы, где я хочу, чтобы изображение отображалось.

$name = $_FILES["image"]["name"];
$type = $_FILES["image"]['type'];
$size = $_FILES["image"]["size"];
$temp = file_get_contents($_FILES["image"]["tmp_name"]);
$error = $_FILES['image']["error"];
echo "<img src='$temp'>"; //this displays the 
                          //binary code(I beleive that what it s called)
Теги:
image

3 ответа

4
Лучший ответ

Значение в $temp - это двоичная форма изображения! Таким образом, вы можете либо base64_encode() и отобразить его следующим образом:

echo "<img src='data:image/png;base64," . base64_encode($temp) . "'>";
  • 0
    Что делать, если изображение не PNG?
  • 1
    @Romman Хорошо. Но браузер сможет адаптироваться.
Показать ещё 7 комментариев
0

Вам нужно использовать метод move_uploaded_file и хранить изображение где-нибудь в общедоступном каталоге сервера:

$name = $_FILES["image"]["name"];
$uploads_dir = '/uploads';
$tmp_name = $_FILES["image"]["tmp_name"]
move_uploaded_file($tmp_name, "$uploads_dir/$name");
echo "<img src=\"$uploads_dir/$name\">";
0

Существует 3 возможности:

Способ 1. Расскажите своему браузеру, что veryfy.php - это изображение. Это работает с

header("Content-type: image/png");

или любого другого типа изображения (в зависимости от вашего результата). Однако этот метод не позволяет публиковать текст в одно и то же время.

Способ 2. Сохраните изображение (в базе данных или на файловом сервере), а затем загрузите его с помощью <img...>

Способ 3: Использовать кодировку base64:

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA...">

Однако этот файл следует использовать только для небольших файлов, так как он замедляет загрузку страницы. Дополнительная информация: Вложение Base64 изображений

Ещё вопросы

Сообщество Overcoder
Наверх
Меню