Отображение временных изображений с помощью Stack Overflow

У меня настроена функция, которая расшифровывает зашифрованные изображения AES в исходные файлы. Короче говоря, вы бы назвали это так: DecryptFile($pathtofile)

Это создаст файл в папке tmp/ с дешифрованным изображением и вернет путь, чтобы быть в состоянии вставить изображение через <img src="path">, Мне просто нужно показать его при текущем выполнении скрипта и удалить его как можно скорее.

То, что я пытался сделать, это unlink("path") для удаления файла в конце скрипта, но если я сделаю это, браузеру не хватит времени загрузить изображение, и все будет отображаться.

Я проверил, смогу ли я справиться с tmpfile() функция, но кажется, что она подходит для временной обработки загрузки, так как я не могу придумать способ показать какое-либо изображение с <img> используя эту функцию.

Есть идеи, ребята?

0

Решение

Одним из возможных решений было бы хранить данные изображения непосредственно в теге с URI данных. Но затем, если бы кто-то скопировал исходный код, у него, по сути, было бы изображение, аналогично, если бы что-то кэшировало содержимое вашей страницы … Опять же, я полагаю, это ничем не отличается от того, что «Сохранить изображение как» или выполнить полную загрузку страницы. Но это избавит вас от необходимости возиться с копией / mv / symlink / unlink.

<?php

$decrypted = DecryptFile($pathtofile);
$data = base64_encode(file_get_contents($decrypted));
$info = getimagesize($decrypted);
$image = sprintf('data:%s;base64,%s', $info['mime'], $data);
?>

<img src="<?php echo $image; ?>" />
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]