2016-07-19 81 views
0

我有我的本地主机的上传按钮,我有这个链接/按钮文件不上点击显示,如果在服务器上

链接是文件名。例如,

$row[] = '<a href = "'.$info->PATH.'" class = "btn btn-sm btn-info pull-left fa fa-question-circle" title="Show File">&nbsp Show File</a> 

$info->PATH的例子是,http://localhost/TLC_HR/uploads/pdf/sample.pdf

当我点击它,它工作正常,在我的本地

,但是当我上传到我的服务器上,$info->PATH成为http://123.123.123.123/TLC_HR/uploads/pdf/sample.pdf(不真实地址)

现在,当我点击这个按钮时,文件现在下载而不是显示文件。为什么呢?我需要做的只是显示文件。

+0

$ info的值是多少? –

+0

尝试设置标题内容处理内联 –

+0

@AmitRajput $ info-> PATH是它的链接,因为它来自一个foreach表。 –

回答

0

尝试

<a href="#" class = "btn btn-sm btn-info pull-left fa fa-question-circle" title="Show File" onclick="window.open('yout-pdf-url.pdf', '_blank', 'fullscreen=yes'); return false;">&nbsp Show File</a> 
+0

我如何给文件的链接 –

+0

使用当前url $ info-> PATH –

+0

你能解释一下为什么你的答案应该起作用吗? – Mathlight

0

这是因为你的服务器发送的报头。

如果服务器发送

内容处置:附件,然后下载的是正确的事情 向

。如果服务器发送

内容处置:内联,则显示的是正确的事情,以

添加内容处置:在你的服务器配置 内联。

+0

什么文件我可以找到这个内容 - 处置 –

+0

检查此链接 http://unix.stackexchange.com/questions/124137/change-apache-httpd-server-http-header 或者你可以简单地读取这个文件的内容,使用ob_clean(),在你的php代码中设置这些头文件,echo内容,使用ob_flush –

0

由于@Satyapal夏尔马大概说的是头的问题,我的建议是你的URL指向一个PHP网页,将处理PDF的可视化,这样的事情:

$row[] = '<a href = "handler.php" class = "btn btn-sm btn-info pull-left fa fa-question-circle" title="Show File">&nbsp Show File</a> 

然后在handler.php

<?php 
    // retrieve your info ecc. 
    $url = $info->PATH; 
    $filename = 'something.pdf' 
    header('Content-type: application/pdf'); 
    header('Content-Disposition: inline; filename="' . $filename. '"'); 
    header('Content-Transfer-Encoding: binary'); 
    header('Accept-Ranges: bytes'); 
    @readfile($url); 
?> 
+0

$ url包含文件名 –

+0

然后只使用url作为文件名。它只是一个例子:) –

+0

这工作在本地。它显示pdf背景蝙蝠有一条消息说'无法加载PDF文件'为什么这样? –

相关问题