Proxy 如何通过代理页面保存正确的文件名
我是个新手。试图发展我对PHP和JavaScript的知识。这一次我撞了太多次头,寻找答案的时间已经够长了 我正在尝试创建一个代理页面来查看PDF。它起作用了!但当我想保存文件时,它会将自己命名为“proxy.pdf”。在我的Transformer Prime平板电脑上,它下载了脚本:“proxy.php” 这就是我的代理PHP代码的样子:Proxy 如何通过代理页面保存正确的文件名,proxy,filenames,Proxy,Filenames,我是个新手。试图发展我对PHP和JavaScript的知识。这一次我撞了太多次头,寻找答案的时间已经够长了 我正在尝试创建一个代理页面来查看PDF。它起作用了!但当我想保存文件时,它会将自己命名为“proxy.pdf”。在我的Transformer Prime平板电脑上,它下载了脚本:“proxy.php” 这就是我的代理PHP代码的样子: <?php session_start; // define path to image folder $image_folder = realp
<?php
session_start;
// define path to image folder
$image_folder = realpath(dirname(__FILE__))."/imagefolder/";
// get image name from the query string
// no probe
if (isset($_GET['pic']) && basename($_GET['pic']) == $_GET['pic'])
{
$pic = $image_folder.$_GET['pic'];
if (file_exists($pic) && is_readable($pic))
{
// get the filename extension
$ext = substr($pic, -3);
// set the MIME type
switch ($ext)
{
case 'jpg':
$mime = 'image/jpeg';
break;
case 'gif':
$mime = 'image/gif';
break;
case 'png':
$mime = 'image/png';
break;
case 'pdf':
//alt octet-stream
$mime = 'application/pdf';
break;
default:
$mime = false;
}
// if a valid MIME type exists, display the image
// by sending appropriate headers and streaming the file
if ($mime)
{
header('Content-type: '.$mime);
header('Content-length: '.filesize($pic));
$file = fopen($pic, 'rb');
if ($file)
{
fpassthru($file);
exit;
}
}
}
}
?>
当我对我的ASP.NET应用程序提出同样的问题时,我偶然发现了这个问题。使用标题是为我做的。我不会假装是PHP专家,但如果你在其他标题旁边添加这一行,应该可以完成这项工作
header('Content-Disposition: attachment; filename='.$_GET['pic']);