Exemple #1
0
    display("<b>Type:</b>", $ebook->getDcType());
    display("<b>Format:</b>", $ebook->getDcFormat());
    display("<b>Sources:</b>", $ebook->getDcSource());
    display("<b>Relation:</b>", $ebook->getDcRelation());
    display("<b>Coverage:</b>", $ebook->getDcCoverage());
}
function display($title, $data)
{
    $info = "";
    if (is_array($data)) {
        foreach ($data as $element) {
            if ($info == "") {
                $info = $element;
            } else {
                $info = $info . ", " . $element;
            }
        }
        $data = $info;
    }
    if ($data != "") {
        echo $title . " " . $data . "\n <br />";
    }
}
$ebookfile = "C:\\dropbox\\ebooks\\Beautiful_Code.epub";
//read our epub file
$ebook = new ebookRead($ebookfile);
//$creator = $ebook->ebookData->creator;
$creator = $ebook->getDcCreator();
print_r($creator);
echo "<br>";
echo $creator[0];
Exemple #2
0
# if the rootpath doesn't end in a slash, add it
if ('/' != $rootpath[strlen($rootpath)]) {
    $rootpath .= '/';
}
// get the name of the file we want the cover of
// er, and what's to stop us going up a directory, eh?
$filename = $_GET["filename"];
if (!$filename) {
    $filename = "Jules Verne - From the Earth to the Moon.epub";
}
$filename = str_replace(".", "", $filename);
$filename = str_replace("epub", ".epub", $filename);
// horrible hack, but stops people having filename=../../
$epubfile = $rootpath . $filename;
#echo $epubfile;
$ebook = new ebookRead($epubfile);
# in theory the cover is referenced in the <metadata> section by something like:
# <meta name="cover" content="cover-image"/>
# and then in the manifest something like:
# <item id="cover-image" href="the_cover.jpg" media-type="image/jpeg"/>
# but in reality it all seems to be a bit hit and miss.
# try the <meta> route first, and then make some informed guesses
#$coverReference = $this->getTag($this->ebookData->metadata, 'dclanguage');
$cover = $ebook->getManifestById('cover');
# if the type doesn't start with 'image', look elsewhere
if (stripos($cover->type, 'image') === false) {
    #echo "cover is not an image, trying book-cover<br>";
    $cover = $ebook->getManifestById('book-cover');
    # if the type *still* doesn't start with 'image', look elsewhere
    if (stripos($cover->type, 'image') === false) {
        #echo "book-cover is not an image, trying cover-image<br>";
Exemple #3
0
<?php

require_once 'ebookRead.php';
require_once 'ebookData.php';
if (!isset($_SESSION)) {
    session_start();
}
$ebookData = unserialize($_SESSION['esd']);
$ebook = new ebookRead($ebookData);
$spineInfo = $ebook->getSpine();
function buildToc($ebook)
{
    $found = false;
    $spineInfo = $ebook->getSpine();
    for ($x = 0; $x < count($spineInfo); $x += 1) {
        $content = $ebook->getContentById($spineInfo[$x]);
        if ($found) {
            break;
        }
        for ($y = 0; $y < count($spineInfo); $y += 1) {
            $manItem = $ebook->getManifestById($spineInfo[$y]);
            if (preg_match("/" . $manItem->href . "/", $content)) {
                $found = true;
                break;
            }
        }
    }
    if (!$found) {
        echo "<h2>Table of Contents</h2><br />";
        $toc = $ebook->getTOC();
        for ($x = 0; $x < count($spineInfo); $x += 1) {
Exemple #4
0
//define channel
$atom = new UniversalFeedCreator();
$atom->useCached();
$atom->title = "Books in {$epubdir}";
// todo: replace with a $catalogname field
$atom->description = "epub files on my server";
$atom->link = "http://mydomain.net/";
$atom->syndicationURL = $scripturl;
// sort the files by date so the most recent is first in the feed
// preg_find(pattern, starting dir, args)
$files = preg_find('/\\.epub$/', $epubdir, PREG_FIND_RECURSIVE | PREG_FIND_RETURNASSOC | PREG_FIND_SORTBASENAME | PREG_FIND_SORTDESC);
$files = array_keys($files);
// add the files to the feed
foreach ($files as $file) {
    if (is_file($file)) {
        $ebook = new ebookRead($file);
        // entries
        $item = new FeedItem();
        $item->title = $ebook->getDcTitle();
        $item->linktype = "application/epub+zip";
        $item->link = $file;
        // <link rel="x-stanza-cover-image" type="image/jpeg" href="cover.php?filename=$file"/>
        $coverLink = new LinkItem();
        $coverLink->rel = "x-stanza-cover-image";
        $coverLink->type = "image/jpeg";
        $coverLink->href = "cover.php?filename={$file}";
        $item->addLink($coverLink);
        $thumbnailLink = new LinkItem();
        $thumbnailLink->rel = "x-stanza-cover-image-thumbnail";
        $thumbnailLink->type = "image/jpeg";
        $thumbnailLink->href = "cover.php?filename={$file}&amp;type=thumb";
            if (move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $newname)) {
                //echo "The uploaded file has been saved at: $newname \n <br />";
            } else {
                echo "Error: A problem occurred during file upload!";
            }
        } else {
            echo "Error: File " . $_FILES["uploaded_file"]["name"] . " already exists \n <br />";
        }
    } else {
        echo "Error: Only .epub files are accepted for upload\n <br />";
    }
} else {
    echo "Error: No file uploaded\n <br />";
}
//read our epub file
$ebook = new ebookRead($newname);
$_SESSION['esd'] = serialize($ebook->getEBookDataObject());
$_SESSION['efile'] = $newname;
function metadata($ebook)
{
    display("<b>Title:</b>", $ebook->getDcTitle());
    display("<b>Creator:</b>", $ebook->getDcCreator());
    display("<b>Description:</b>", $ebook->getDcDescription());
    display("<b>ISBN or ID:</b>", $ebook->getDcIdentifier());
    display("<b>Contributor(s):</b>", $ebook->getDcContributor());
    display("<b>Contributor(s) Role:</b>", $ebook->getDcContributor("Role"));
    display("<b>Language:</b>", $ebook->getDcLanguage());
    display("<b>Rights:</b>", $ebook->getDcRights());
    display("<b>Publisher</b>:", $ebook->getDcPublisher());
    display("<b>Subject:</b>", $ebook->getDcSubject());
    display("<b>Date:</b>", $ebook->getDcDate());