Как создать счетчик скачиваемых файлов с помощью php mysqli - PullRequest
0 голосов
/ 14 февраля 2019

В моей базе данных есть имена файлов моих файлов, которые представляют собой песни в формате 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>

1 Ответ

0 голосов
/ 14 февраля 2019

Я бы порекомендовал поставить счетчик загрузок на стол, и каждый раз, когда пользователь нажимает на ссылку, чтобы скачать mp3, обновляйте запись счетчиком + = 1.Затем вы можете отобразить счетчик для каждого mp3 в зависимости от значения этого столбца.

Я бы создал страницу download.php и передал бы либо имя файла, либо еще лучше, и идентификатор для файла.Затем пользователь нажимает на ссылку, чтобы загрузить файл, затем обновляет счетчик записей и затем устанавливает заголовки, чтобы принудительно загрузить файл.Например.

В загружаемом файле ...

Найти запись по имени или идентификатору, обновить счетчик и затем принудительно загрузить ...

$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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...