Я пытаюсь удалить изображение (.jpg) с сервера после первого показа. Но файл удаляется (unlink ();) перед отображением. Я уже пробовал с sleep (), но это только задерживает загрузку, и после того, как файл удален, пока не появится.
Вы можете использовать mod_rewrite для перенаправления jpg-запросов на скрипт, который загружает изображение в память, удаляет файл, затем служит для изображения. ИМО, это самое простое и простое решение. Небезопасный пример ниже …
Пример файла .htaccess:
# Turn on URL rewriting RewriteEngine On # Rewrite all other URLs to index.php/URL RewriteRule .* index.php/$0 [PT]
index.php
<?php $image_file = $_SERVER['PATH_INFO']; // clean data, strip current/parent directory to block transversal, etc... if (file_exists('images/' . $image_file)) { $image_data = file_get_contents('images/' . $image_file); // determine image mimetype using phps mimetype functions unlink('images/' . $image_file); header('Content-Type: image/jpeg'); echo $image_data; }
Боюсь, что я могу сделать это с неопределенностью.
Это связано с тем, что весь PHP выполняется в стеке перед рендерингом вывода. Вам нужно будет настроить функцию для флага файла для удаления при загрузке следующей страницы.
ИЛИ вы можете настроить AJAX для удаления изображения после загрузки документа.