Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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
使用codeigniter/php在服务器中打开文件_Php_File_Codeigniter_Header - Fatal编程技术网

使用codeigniter/php在服务器中打开文件

使用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'

我想做什么:让用户单击一个链接,它会转到一个函数,该函数还带有文件外文和文件id(id是它在服务器上的名称)。然后,该函数在新选项卡中打开该文件,或者在无法打开时下载该文件

我所尝试的:Codeigniters read\u file()函数。 此外:

 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