以下脚本是一种快速而肮脏的尝试,旨在提供一种保护我在PayDotCom和Paypal上销售的文件的方法。
如果有人有这些服务的经验,我有几个问题......
1)是否有可以在这些付费网站中设置的令牌,我可以在执行下载之前在下面的脚本中查看这些令牌?
2)在下面的脚本中,检索的文件是正确的,但是,要将其保存到的文件名与PHP处理页面(secure-download.php)相同。如何更改保存文件的文件名?例如它将是一个zip文件。
3)下面的代码中有一些注释,我需要一些建议......
<?php
$file = basename(urldecode($_GET['file']));
$fileDir = dirname(dirname( dirname( __FILE__ ) ) )."/secure/";
// The secure directory is outside of www root
if (file_exists($fileDir . $file))
{
// Note: Need advice here to do some more checks
// on the filetype, size, etc.
$contents = file_get_contents($fileDir . $file);
// Note: Need to implement some kind
// of check on filetype
header('Content-type: application/zip');
echo $contents;
//currently the filename is same as the processing file, need to change it to [somefile].zip
}
?>
答案 0 :(得分:1)
您可以使用以下内容轻松更改文件名:
header(“Content-Disposition:atachment; filename = myfilename.zip”);
至于令牌保护,您需要参考PayPal文档,因为您需要此脚本来获取传入的令牌变量 - 然后将其传输给它们以确认它是有效的令牌。
答案 1 :(得分:0)
我不确定我理解你的问题,但我认为你有下载文件的问题?如果是这样,这是你的固定代码:
<?php
$file = basename(urldecode($_GET['file']));
$fileDir = dirname(dirname( dirname( __FILE__ ) ) )."/secure/";
// The secure directory is outside of www root
if (file_exists($fileDir . $file))
{
$contents = file_get_contents();
header("Content-Type: x-type/subtype");
header("Content-Disposition: attachment; filename=\""$fileDir.$file"\"");
}
?>