Я разрабатываю скрипт PHP для отправки содержимого файла из одного сценария в другой. В PHP обычно используется массив $ _FILE, содержащий любой загруженный файл, представленный в форме. Но я не нуждался в форме, так что я придумал что-то немного иначе:
// pseudo function names ahead
$content = file_get_contents(FILE_TO_SEND);
send_file_with_curl(base64_encode(gzcompress($content)));
Так что это в основном извлекает содержимое файла, а затем сжимает его со сжатием Gzip и затем base64 кодирует его. Затем все отправляется с запросом cURL POST. С другой стороны, я получаю отправленный контент base64, декодирует его, распаковывает, и все возвращается нетронутым.
Так что мой вопрос: есть ли недостатки в этом? Есть ли проблемы безопасности или целостности, которые я могу игнорировать?
Я забыл упомянуть, что я также отправляю файл md5 файла, чтобы проверить, прошла ли передача. И файлы, которые будут отправлены, никогда не будут больше 3 МБ.
Заранее благодарим за все ваши ответы.
Как я отметил Фрэнку, base64 добавляет ровно 33%. Он кодирует 3 байта как 4. Здесь нет никаких догадок. –