使用codeigniter/php在服务器中打开文件
我想做什么:让用户单击一个链接,它会转到一个函数,该函数还带有文件外文和文件id(id是它在服务器上的名称)。然后,该函数在新选项卡中打开该文件,或者在无法打开时下载该文件 我所尝试的:Codeigniters read\u file()函数。 此外:使用codeigniter/php在服务器中打开文件,php,file,codeigniter,header,Php,File,Codeigniter,Header,我想做什么:让用户单击一个链接,它会转到一个函数,该函数还带有文件外文和文件id(id是它在服务器上的名称)。然后,该函数在新选项卡中打开该文件,或者在无法打开时下载该文件 我所尝试的:Codeigniters read\u file()函数。 此外: header('Content-type: application/pdf'); header('Content-Disposition: attachment; filename="1.pdf"'); readfile('1.pdf'
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="1.pdf"');
readfile('1.pdf');
但这不起作用。或者它是,我不知道如何正确配置它
文件所在位置:有一个名为uploads的文件夹。codeigniter的上载和应用程序文件夹位于同一级别
我用的是codeigniter。这些文件可以是gif、jpg或pdf格式。如果您想要一个新窗口,谢谢:
echo "<script language='text/javascript'>
window.open('" . $filepath . "');
</script>";
echo”
window.open(““$filepath.”);
";
或者只是重定向:
echo "<script language='text/javascript'>
document.location = '" . $filepath . "';
</script>";
echo”
document.location='”$文件路径。"';
";
否,因为如果可能,我希望它在用户浏览器中打开。这不是下载吗?文件路径是否需要返回两个文件夹,因为它位于应用程序/控制器中?如果不可见,也会下载吗?只需使用绝对路径,如“http://www.mysite.com/“$myfile
或使用base\u url($myfile)
功能。第二个问题的答案是,是。这是浏览器行为,而不是脚本。标题?它不下载文件。它只是下载了一个名为1的pdf文件,当我试图打开它时,我收到了一个错误消息,说它坏了或者什么的。标题似乎是正确的。我不相信你说“它坏了或什么的”时会出现错误:)试试其他浏览器,也许只是一些PDF插件在浏览器中打开文件,而不是使用“另存为”选项下载文件。对不起,我的英语很差,我一直在测试的pdf结果是坏的,所以一旦我得到一个工作的,我们将看看什么是有效的D