Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP将PDF打开到新窗口_Php - Fatal编程技术网

使用PHP将PDF打开到新窗口

使用PHP将PDF打开到新窗口,php,Php,我正在尝试打开一个与某个产品关联的.pdf。我正在使用PHP显示产品及其信息。然后,我想在单击链接时在新窗口中打开该PDF 我已经设置了这些变量 <?php require_once("connect.php"); $thisone = $_GET['id']; $allMov = "SELECT * FROM tbl_handbags WHERE handbags_id=".$thisone; $movResults = mysql_query($al

我正在尝试打开一个与某个产品关联的.pdf。我正在使用PHP显示产品及其信息。然后,我想在单击链接时在新窗口中打开该PDF

我已经设置了这些变量

<?php
    require_once("connect.php");
    $thisone = $_GET['id'];

    $allMov = "SELECT * FROM tbl_handbags WHERE handbags_id=".$thisone;

    $movResults = mysql_query($allMov);
    $row = mysql_fetch_array($movResults);
    $filename = $row['filename_pdf'];
    $prefix = "pdfs";
?>

然后这个

<?php echo "<a target = '_blank'  href='$prefix/$filename' >View and Download Spec Sheet .PDF </a>";?>


正在发生的事情是,一个新窗口打开,但它的PDF“父目录”。在这里,我可以点击适当的PDF,它做了我想做的事情。我只需要以某种方式剪切父目录页。

您看到的行为是因为字符串

"$prefix/$filename"
-或者类似地-

$prefix . '/' . $filename
是指向PDF文件而不是指向其父目录的路径

您的web服务器配置为允许目录列表(在生产中我会避免这一点),因此您可以查看所有文件,然后单击该文件并打开它

在您发布的代码中,没有任何明显的错误并导致了这种情况。

因此,我建议编辑代码的第二部分(呈现页面的部分),并将其临时替换为

<?php echo "prefix = " . $prefix . "\n<br />" . "filename = " . $filename;

危险:您正在使用并且应该使用。你也很容易受到现代API的影响,因为它会让你更容易从中受益。听起来你是在将“父目录”存储到
filename\u pdf
列中,而不是实际的文件名。这个问题似乎离题了,因为海报上没有证据表明你对他们自己的check$filename做过任何研究,我认为它是空的,这就是为什么你登陆到pdfs目录,同时在pdfs目录中放置一个空白index.html以保存目录浏览。我编辑了我的答案以使其更清晰。希望能有帮助。