Epub - это просто архив, например, zip или tar. Если вы хотите создать файл epub с php с нуля, вам нужно создать отдельные html-файлы и несколько xml-файлов с правильной информацией. Затем вы должны объединить их в архив, это на самом деле просто zip-архив. Это немного работа, но это не очень сложно сделать с php.
Создание почтового индекса: http://davidwalsh.name/create-zip-php
Для XML проще всего создать нужные теги, просто построить его с правильным выводом.
Итак:
1) Создавайте html и xml-файлы и временно сохраняйте их на своем сервере.
2) Создайте zip-архив с правильными файлами на вашем сервере.
3) Разрешить пользователю скачивать архив с расширением .epub.
Удачи!