PHP. Хранение файлов в сессии

Можно ли в PHP хранить файлы в массиве $_SESSION? Можно! Следующий код продемонстрирует эту возможность.

$file = 'file.pdf';
$source = file_get_contents($file);
$_SESSION['file'] = base64_encode($source);
file_put_contents('file.new.pdf', base64_decode($_SESSION['file']));

Этот код прочитает файл file.pdf, кодирует его содержимое алгоритмом MIME base64, записывает полученную строку в $_SESSION['file'], создает новый файл, декодируя содержимое $_SESSION['file'] и записывает его в файл.

Данный код можно использовать в своих разработках, например, для загрузки изображений на сайт через iframe без представления основной формы. Это позволит не создавать временных директорий и упростит алгоритм проверки файлов.

Интересное

Отзыв о FirstVDS
При покупке хостинга у FirstVDS мне предложили скидку за годный отзыв в блоге или на форуме....
Проверка сайта на вирусы
Если пользоваться привычной терминологией, то web вирусы не являются вирусами в традиционном...
Project Glass — Очки будущего от Google
Компания Google представила суперсовременные «очки дополненной реальности» или Project Glass. Впрочем,...
Git и Bitbucket
Git – это распределенная система контроля версий. Пожалуй, на этом теория заканчивается, так как...

Комментарии

  • Сергей Ипатов
    11.01.2014 в 14:14

    А зачем файлы хранить в сессии?

    ответить
  • Сергей Ипатов
    11.01.2014 в 14:15

    А зачем файлы хранить в сессии?

    ответить
  • Сергей Ипатов
    11.01.2014 в 14:15

    А зачем файлы хранить в сессии?

    ответить
  • Сергей Ипатов
    11.01.2014 в 14:15

    А зачем файлы хранить в сессии?

    ответить
  • Сергей Ипатов
    11.01.2014 в 14:15

    А зачем файлы хранить в сессии?

    ответить
  • Сергей Ипатов
    11.01.2014 в 14:15

    А зачем файлы хранить в сессии?

    ответить
  • Сергей Ипатов
    11.01.2014 в 14:16

    ))) сделайте в комментариях кнопку «отправить» неактивной, пока коммент добавляется, а то у меня вон сколько раз одно и тоже добавилось

    ответить

Чтобы оставлять комментарии, авторизируйтесь

Войти через OpenID

рейтинг0+-
Популярные
Точки входа
Наверх