Exemplo n.º 1
0
 public function downloadBook($bookId, $page = 0, $limit = 0)
 {
     $dbBooks = $this->db->getBookById((int) $bookId);
     if (count($dbBooks) == 0) {
         // TODO: error msg
         return;
     }
     $dbBook = array_shift($dbBooks);
     $download_times = @$dbBook["download_times"] + 1;
     $this->db->editBook(array("id" => $dbBook["id"], "download_times" => $download_times));
     header('Content-type:application/force-download');
     header('Content-Transfer-Encoding: Binary');
     header('Content-Disposition: attachment; filename*=UTF-8\'\'' . urlencode($dbBook["name"] . "txt"));
     echo iconv("UTF-8", "UTF-16", $dbBook["name"] . "\n\n");
     echo iconv("UTF-8", "UTF-16", "程式作者:Andy\n\n");
     echo iconv("UTF-8", "UTF-16", "Class: {$dbBook['class']}\n");
     echo iconv("UTF-8", "UTF-16", "Pages: {$dbBook['pages']}\n");
     echo iconv("UTF-8", "UTF-16", "Posts: {$dbBook['posts']}\n");
     echo iconv("UTF-8", "UTF-16", "Looks: {$dbBook['looks']}\n");
     $page = max(1, $page);
     $limit = $limit == 0 ? $dbBook["pages"] : $limit;
     PtFile::printBook($bookId, $page, $limit);
 }