php - 如何使用 php mysqli 创建下载文件计数
问题描述
我的数据库中有我的文件的文件名,这些文件是 mp3 歌曲,我需要帮助来生成一个 php mysql 代码,它可以帮助我计算每个文件的下载次数。谢谢你。
if(isset($_GET['id'])){}
$songid = $_GET['id'];
$sql = 'SELECT filename, album_art, song, song_id, artist FROM homemp3 WHERE song_id ='.$songid;
$result = $conn->query($sql);
$row = mysqli_fetch_array($result);
<img src="./images/<?= $mainImage; ?>" alt="PowerBeatz" width="300" height="300" />
<div class="media-body">
<h5 class="mt-0"><span class="title"><?php echo $row['song']; ?></span></h5>
<?php echo $row['artist']; ?>
<div class="play">
<a href="./homemp3/<?= $row['filename']; ?>" class="btn btn-primary"><i class="fa fa-download"></i></a>
</div>
<div>
<p>Total Downloads:</p>
</div>
解决方案
我建议在表格上放置一个下载计数器,每次用户单击链接下载 mp3 时,然后使用 counter+=1 更新记录。然后您可以根据该列的值显示每个 mp3 的计数器。
我将创建一个 download.php 页面并传递文件名或更好的文件名和文件 ID。然后当用户点击链接下载文件,然后更新记录计数器,然后设置标题强制下载文件。例如。
在下载文件...
按名称或ID查找记录,更新计数器,然后强制下载...
$mp3 ='path_to/mp3_file.mp3';
if(file_exists($mp3)) {
header('Content-Type: audio/mpeg');
header('Content-Disposition: attachment; filename="mp3_file.mp3"');
header('Content-length: '. filesize($mp3));
header('Cache-Control: no-cache');
header('Content-Transfer-Encoding: chunked');
readfile($mp3);
exit;
}
推荐阅读
- c# - 使用 decimal.Parse 无法正确显示十进制值
- xamarin - 在 UICollectionView GetCell 中设置 translucent true 返回错误的 indexPath
- javascript - Javascript - 切换类问题
- react-native - 对角线直通文本 React-Native
- java - log4jdbc Java 8 兼容性
- tensorflow - 我们可以将我们的数据集(图像)添加到 ML5 数据模型吗
- python - Python:删除字符串中的重复项
- java - 创建名为“methodValidationPostProcessor”的 bean 时出错
- sql - 检索匹配模式之前的字符
- c# - 对DataGridView排序后保持选定的行位置c#