Файл -> base64 -> Файл

Тема в разделе "PHP", создана пользователем bahetle, 26 фев 2013.

  1. bahetle

    bahetle

    Регистрация:
    26 янв 2013
    Сообщения:
    56
    Симпатии:
    204
    Делаю тут весьма интересный РИП и немогу скачать файлы.
    Т.е. на сервере запаковал, но при попытке скачки выкидывает по 40кб файл.
    Пока решение приходит на ум: закодировать файл в base64, записать его в текстовый файл, а потом уже на рабочей машине декодировать его обратно.
    В строку получается закодировать вот так: (неполностью, файл бьется)

    Код:
    // Открываем файл для чтения в бинарном формате
    $file=fopen("file.zip", "rb");
    // Считываем его в строку $str_file
    $str_file=fread($file,filesize("file.zip"));
    // Преобразуем эту строку в base64-формат
    $str_file=base64_encode($str_file);
    
    Гуру, подскажите.
     
  2. Alex.Volk

    Alex.Volk

    Регистрация:
    1 ноя 2012
    Сообщения:
    0
    Симпатии:
    55
    PHP:
    file_put_contents('./out.txt'base64_encode(file_get_contents('./in.zip')));
     
    bahetle нравится это.
  3. bahetle

    bahetle

    Регистрация:
    26 янв 2013
    Сообщения:
    56
    Симпатии:
    204
    Это мы закодировали. А обратная операция? Из текстового файла в файл обычный?
     
  4. Alex.Volk

    Alex.Volk

    Регистрация:
    1 ноя 2012
    Сообщения:
    0
    Симпатии:
    55
    Код:
    file_put_contents('./in.zip', base64_decode(file_get_contents('./out.txt')));
     
    bahetle нравится это.