Кто-нибудь знает хорошее PHP-решение для удаления или лучшего удаления файла из Linux-системы?
Сценарий: файл зашифрован и сохранен, когда запрашивается загрузка, файл копируется во временную папку и дешифруется. Это уже работает.
Но как удалить файл из временного местоположения после отправки пользователю?
На мой взгляд, у меня есть следующие варианты:
Цель: удалить файл с жесткого диска без возможности восстановления (стереть / перезаписать)
Вызовите « shred » через exec / system / passthru
Лучше всего никогда не сохранять файл в дешифрованном состоянии в первую очередь.
Скорее, используйте потоковые фильтры, чтобы дешифровать его «на лету» и отправить его непосредственно конечному пользователю.
Обновить
Ваш вариант 1 на самом деле не так уж плох, если вы считаете этот код:
$filename = 'path/to/file'; $size = filesize($filename); $src = fopen('/dev/zero', 'rb'); $dest = fopen('/path/to/file', 'wb'); stream_copy_to_stream($src, $dest, $size); fclose($src); fclose($dest);
Вы также можете выбрать /dev/urandom
, но это будет медленным.