gpt4 book ai didi

php - 下载文件并运行 sql 更新查询

转载 作者:行者123 更新时间:2023-11-29 22:03:28 25 4
gpt4 key购买 nike

我有一个网络应用程序,让我的用户上传文件。然后我必须下载该文件,并更改数据库中的状态,以便我可以跟踪我下载的文件。HTML 格式为

echo '<a href="uploads/'.$filename.'" onClick="DownloadFile($filename)">Download File</a>'

函数:

function DownloadFile($filename){
if (file_exists($filename)){
header ( 'Content-Type: application/octet-stream');
header ( 'Content-Length: ' .filesize($filename));
header ( 'Content-Disposition: attachement; filename='.basename($filename));
readfile($filename);
$query = "UPDATE table SET status = '1' WHERE file_id = '$file_id'";
$result = mysqli_query($dbc, $query);
if ($result){
echo 'updated';
}else{
echo 'Error updating database';
}
exit();
}
}

文件下载正常,但 SQL 更新语句不会更改状态,也不会回显结果。任何见解都将受到欢迎,因为这是我第一次尝试使用下载功能。

最佳答案

这段代码对我来说非常有效,请注意,我添加了下载限制

 if (file_exists($filename)) {
header('Content-type: application/zip'); //this could be a different header
header('Content-Disposition: attachment; filename="myfile.zip"');

ignore_user_abort(true);

$context = stream_context_create();
$file = fopen($filename, 'rb', FALSE, $context);
while(!feof($file))
{
echo stream_get_contents($file, 5120);
}
fclose($file);

// SQL HERE if Success

flush();
}

else{

echo "file is moved or deleted, Please generate download link again.";
}

关于php - 下载文件并运行 sql 更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32387073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com