Jump to content
Larry Ullman's Book Forums
Sign in to follow this  
bia.morton

Chp5: Pdf Wont Show

Recommended Posts

I must be missing something. Everything works as expected but the pdf never show. It just says "loading" on the bottom acrobat style. I even tried adding an extension to the file name as you see bellow.

<?php
	require('includes/config.inc.php');
	require(MYSQL);
	$valid = false;
	if(isset($_GET['id']) && strlen($_GET['id']) === 63 AND substr($_GET['id'], 0, 1) !== '.') {
		$file = PDF_DIR . $_GET['id'] . '.pdf';
		if(file_exists($file) && is_file($file)) {
			$query = "SELECT id, title, description, file_name FROM pdfs WHERE tmp_name = '" . escapeData($_GET['id'], $dbc) . "'";
			$result = mysqli_query($dbc, $query);
			if(mysqli_num_rows($result) === 1) {
				$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
				$valid = true;
				if(isset($_SESSION['user_not_expired'])) {
					header('Content-type:application/pdf');
					header('Content-disposition:inline;filename="' . $row['file_name'] . '.pdf"');
					$size = filesize($file);
					header('Content-length:$size\n');
					readfile($file);
					exit();
				} else {
					$pageTitle = $row['title'];
					include('includes/header.html');
					echo '<h1>' . $pageTitle . '</h1>';

					viewingWarning();

					echo '<div>' . htmlspecialchars($row['description']) . '</div>';
					include('includes/footer.html');
				}
			}
		}
	}

	if(!$valid){
		trigger_error('There was an error accessing the page you requested. Please try again later.');
	}

viewingWarning is just a function i created to display the please sign in to view content or please renew to view content. It works just fine in other pages so I dont think thats the problem. I even tried copying and pasting view_pdf.php straight from the downloaded folder and it does the same thing. Im coding on my personal laptop. Any special settings I need to use to display pdfs?

Share this post


Link to post
Share on other sites

Well, I would try it in multiple browsers, just to confirm. If it responds the same, you'd need to start adding in debugging echo statements to figure out where it's hanging. (Understanding that those debugging statements will prevent the PDF from downloading properly, but that's okay, for debugging.)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...