ВРЕМЕННАЯ ССЫЛКА PHP
Временная ссылка PHP - это ссылка, которая существует только в течение определенного времени и затем исчезает. Такая ссылка может быть полезна для передачи временных данных веб-странице или для создания одноразовых ссылок для загрузки файлов или других задач, где безопасность играет ключевую роль. Для создания временной ссылки в PHP обычно используются функции временных файлов, например, tempnam()
или tmpfile()
.
Вот пример кода, который создает временную ссылку на файл example.zip
:
$tmpfname = tempnam(sys_get_temp_dir(), "example");
$handle = fopen($tmpfname, "w");
fwrite($handle, file_get_contents("http://example.com/example.zip"));
fclose($handle);
$url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?file='.$tmpfname;
// ссылка будет жить 30 минут
$expires = 30 * 60;
header('Pragma: public');
header('Cache-Control: maxage='.$expires);
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$expires) . ' GMT');
header('Content-Type: application/octet-stream');
header('Content-Length: ' . filesize($tmpfname));
header('Content-Disposition: attachment; filename=example.zip');
// отдаем файл
readfile($tmpfname);
// удаляем временный файл
unlink($tmpfname);
Этот код создает временный файл с именем, начинающимся с префикса "example" в системной временной директории, загружает содержимое файла example.zip
с веб-сайта по указанному URL, записывает его во временный файл, который затем используется для создания временной ссылки на этот файл.
Затем код устанавливает заголовки HTTP для корректной передачи временной ссылки, устанавливая время жизни ссылки, тип содержимого и имя файла, а затем отдает ссылку на скачивание файла и удаляет временный файл.
Открытое собеседование PHP Point #1 / Валентин Удальцов vs Патрик Фельдеш
PHP: объекты передаются по ссылке или нет?
PHP - загрузка одного или нескольких файлов
Создание одноразовых URL адресов
Система регистрации и авторизации на PHP и MySQL базы данных
Создание PHP веб сайта за 1 час! + Выгрузка на сервер
Ссылки в PHP