亲爱的所有我能够显示来自mysql的图像。但是当我想显示同样存储在我的数据库中的pdf时,我无法做到这一点。当我使用此代码时,此代码显示一小块绿色图像,但不显示.pdf文件。此代码适用于图像。但是我无法显示.pdf文件。 可以帮我告诉我在我的代码中我必须改变。我请求给出能够显示PDF文件的正确更改行。 提前谢谢!
<?php
$servername = "localhost";
$username = "root";
$dbname = "db_dat";
$password = "";
$conn = mysqli_connect($servername, $username, $password, $dbname);
$passno="";
$doi="";
$doe="";
$poi="";
$empid='';
$emp_name='';
$desg='';
$comp_add='';
$dob='';
$img='';
if (isset($_POST['pass'])) {
$passno=$_POST['pass'];
}
if (isset($_POST['dateofissue'])) {
$doi=$_POST['dateofissue'];
}
if (isset($_POST['dateofexpiry'])) {
$doe=$_POST['dateofexpiry'];
}
if (isset($_POST['issueplace'])) {
$poi=$_POST['issueplace'];
}
if (isset($_POST['issueplace'])) {
$poi=$_POST['issueplace'];
}
if (isset($_POST['content'])) {
$empid=$_POST['content'];
}
if (isset($_POST['name'])) {
$emp_name=$_POST['name'];
}
if (isset($_POST['designation'])) {
$desg=$_POST['desgination'];
}
if (isset($_POST['companyaddress'])) {
$comp_add=$_POST['companyaddress'];
}
if (isset($_POST['dateofbirth'])) {
$dob=$_POST['dateofbirth'];
}
if (isset($_POST['image'])) {
$img=$_POST['image'];
}
$sql = "SELECT * from upload WHERE EMP_ID='".$empid."'";
$result = mysqli_query($conn,$sql) ;
while($row = mysqli_fetch_array($result)){
$img= '<img src="data:image/jpeg;base64,'.base64_encode( $row['image'] ).'"/>';
$passno=$row['passport_no'];
$doi=$row['dateofissue'];
$doe=$row['dateofexpiry'];
$poi=$row['placeofissue'];
$empid=$row['EMP_ID'];
$emp_name=$row['employee_name'];
$desg=$row['designation'];
$comp_add=$row['company_address'];
$dob=$row['dateofbirth'];
}
?>
<!DOCTYPE html>
<html>
<head>
<body>
<form method="POST" action="" >
<table>
<tr><td>Enter Employee Id</td> <td><input type="text" name="content" id="content"></td></tr>
<tr><td><input type="submit" class="FormSubmit"></td></tr>
<tr><td>Employee Name</td> <td> <?php echo $emp_name; ?> </td></tr>
<tr><td>Employee desgination</td> <td> <?php echo $desg; ?> </td></tr>
<tr><td>Company Address</td> <td> <?php echo $comp_add; ?> </td></tr>
<tr><td>DOB.</td> <td> <?php echo $dob; ?> </td></tr>
<tr><td>Date of Issue</td> <td> <?php echo $doi; ?> </td></tr>
<tr><td>Date of Expiry</td> <td> <?php echo $doe; ?> </td></tr>
<tr><td>Place of Issue</td> <td> <?php echo $poi; ?> </td></tr>
<tr><td>Passport Image</td> <td> <?php echo $img; ?> </td></tr>
<div class="space"></div>
<div id="flash"></div>
<div id="show"></div>
</div>
</table>
</form>
</body>
</head>
</html>
答案 0 :(得分:1)
这是因为您正在添加图片而不是pdf ...我们没有像<pdf
这样的任何标签,因此我们创建了一个可点击的链接.pdf与图片之间有所不同。
您的可点击链接将由
生成 $img="<a href='"$row['image']."'>Download </a> ";
另一种方法是使用iframe
您将在其中创建iframe并在iframe中打开pdf
echo" <iframe src='"$row['image']."'></iframe>";
row['image']
必须有完整的路径,例如
http://hostname.com/uploads/yourPDFfile.pdf
答案 1 :(得分:0)
在显示pdf文件之前,首先检查其pdf是否从目录中提供pdf图像的路径
答案 2 :(得分:0)
要显示pdf文件,您还必须设置正确的标题以显示文件。 尝试设置这些标头并将$ filename替换为您的文件路径。
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="' . $filename . '"');
header('Content-Transfer-Encoding: binary');