Php 根据用户单击的内容更改文件名
我有三个文件被上传到数据库的用户一旦他们竞争的形式。。问题是我有3个不同的下载脚本来检索文件。。。这些文件作为Php 根据用户单击的内容更改文件名,php,mysql,sql,function,header,Php,Mysql,Sql,Function,Header,我有三个文件被上传到数据库的用户一旦他们竞争的形式。。问题是我有3个不同的下载脚本来检索文件。。。这些文件作为fileName1、fileName2、fileName3和File1、File2、File3进入数据库。有没有办法只下载1个脚本而不是3个不同的脚本 以下是相关代码: $id = $_GET['id']; $query = "SELECT FileName3, File3 " . "FROM UserUploads WHERE ID = '$id'"; $re
fileName1、fileName2、fileName3和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和File1、File2、File3
添加到SELECT
语句中,但问题是header()
和echo
后面的行。。。如何根据用户单击的内容更改此选项?如果为一个用户提供3个下载链接。每个链接都有一个参数,例如“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
然后将开关盒块添加到文件中
$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;
$id=(int)$\u GET['id'];
$file=(int)$\u GET['file'];
如果($file=4){
死(“坏男孩”);
}
$query=“选择文件名$file作为文件名,选择文件$file作为文件”。
“来自UserUploads,其中ID='$ID';
$result=mysqli_query($connection,$query)或die('Error,query failed');
list($fn,$data)=mysqli_fetch_数组($result);
标题(“内容处置:附件;文件名=$fn”);
回波数据;
没有测试它。首先:你知道SQL注入吗?你的代码不好!