根据用户点击更改文件名
Change filename according to what user clicks
用户完成表单后,我将三个文件上传到数据库中。问题是我有 3 个不同的下载脚本来检索文件...文件将作为 fileName1, fileName2, fileName3 and File1, File2, File3
。有什么方法可以只下载 1 个下载脚本而不是 3 个不同的脚本吗?
相关代码如下:
$id = $_GET['id'];
$query = "SELECT FileName3, File3 " .
"FROM UserUploads WHERE ID = '$id'";
$result = mysqli_query($connection, $query) or die('Error, query failed');
list($filename3, $file3) = mysqli_fetch_array($result);
header("Content-Disposition: attachment; filename=$filename3");
echo $file3;
我可以将所有 fileName1, fileName2, fileName3 and File1, File2, File3
添加到 SELECT
语句中,但问题是 header()
和 echo
行之后......我如何根据用户点击了什么?
如果您为一位用户提供 3 次下载 link。每个 link 都有一个参数,例如 'file':
http://your-domain.com/download.php?file=1&id=1234
http://your-domain.com/download.php?file=2&id=1234
http://your-domain.com/download.php?file=3&id=1234
然后将 switch case 块添加到您的文件。
$id = (int)$_GET['id'];
$file = (int)$_GET['file'];
if($file <= 0 || $file >= 4) {
die('bad boy');
}
$query = "SELECT FileName$file as filename, File$file as file " .
"FROM UserUploads WHERE ID = '$id'";
$result = mysqli_query($connection, $query) or die('Error, query failed');
list($fn, $data) = mysqli_fetch_array($result);
header("Content-Disposition: attachment; filename=$fn");
echo $data;
没测试过。
用户完成表单后,我将三个文件上传到数据库中。问题是我有 3 个不同的下载脚本来检索文件...文件将作为 fileName1, fileName2, fileName3 and File1, File2, File3
。有什么方法可以只下载 1 个下载脚本而不是 3 个不同的脚本吗?
相关代码如下:
$id = $_GET['id'];
$query = "SELECT FileName3, File3 " .
"FROM UserUploads WHERE ID = '$id'";
$result = mysqli_query($connection, $query) or die('Error, query failed');
list($filename3, $file3) = mysqli_fetch_array($result);
header("Content-Disposition: attachment; filename=$filename3");
echo $file3;
我可以将所有 fileName1, fileName2, fileName3 and File1, File2, File3
添加到 SELECT
语句中,但问题是 header()
和 echo
行之后......我如何根据用户点击了什么?
如果您为一位用户提供 3 次下载 link。每个 link 都有一个参数,例如 'file':
http://your-domain.com/download.php?file=1&id=1234
http://your-domain.com/download.php?file=2&id=1234
http://your-domain.com/download.php?file=3&id=1234
然后将 switch case 块添加到您的文件。
$id = (int)$_GET['id'];
$file = (int)$_GET['file'];
if($file <= 0 || $file >= 4) {
die('bad boy');
}
$query = "SELECT FileName$file as filename, File$file as file " .
"FROM UserUploads WHERE ID = '$id'";
$result = mysqli_query($connection, $query) or die('Error, query failed');
list($fn, $data) = mysqli_fetch_array($result);
header("Content-Disposition: attachment; filename=$fn");
echo $data;
没测试过。