Можно ли отключить элементы управления mp3 при загрузке mp3-файла через заголовки http с помощью php

Я создаю веб-сайт портфолио для своей музыки и хочу, чтобы пользователи могли воспроизводить мои песни без возможности просмотра источника/загрузки mp3-файлов.

Я использую PHP для этого проекта и загружаю файлы через заголовки HTTP.

<?php
 $mp3 ='72vox.mp3';
 if (file_exists($mp3)) {
   header('Content-Type: audio/mpeg');
   header('Content-Disposition: inline; filename = "mp3_file.mp3"');
   header('Content-length: '. filesize($mp3));
   header('Cache-Control: no-cache');
   header('Content-Transfer-Encoding: chunked');
   readfile($mp3);
   exit;
  }
?>

Когда страница загружается, мой mp3 играет. Однако я не могу понять, как отобразить какой-либо HTML на странице (и, что более важно, как разместить элементы управления звуком в div).

Спасибо за любую помощь заранее

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
294
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

I'm creating a portfolio website for my music and want to allow users to play my songs without them being able to see the source/download the mp3 files.

Это невозможно.

В этом случае URL-адрес вашего PHP-скрипта фактически является URL-адресом аудиофайла.

When the page loads, my mp3 plays. However, I can't seem to figure out how to display any HTML on the page (and more importantly, how to place the audio controls in a div).

Это не имеет ничего общего с тем, как вы обслуживаете файл. Вам нужно создать страницу с тегом <audio> или с соответствующим JavaScript. Когда вы переходите по этому URL-адресу, это не «страница» с вашего сервера, это просто обработка вашего MP3-файла браузером по умолчанию. Другие браузеры просто загрузят его или откроют в пользовательском аудиоплеере по умолчанию.

спасибо за обновление Брэд - очень признателен. Можете ли вы предоставить полезный пример кода или указать мне, где я могу найти дополнительную полезную информацию по этому вопросу?

Krayz 29.05.2019 09:45
<audio src = "path-to-your-audio-file.mp3" controls></audio>
Brad 29.05.2019 15:28

"However, I can't seem to figure out how to display any HTML on the page (and more importantly, how to place the audio controls in a div)."

Как пример...

Сохраните свой PHP-код в файле с именем getFile.php. Теперь создайте HTML-страницу с кодом, как показано ниже, и используйте файл PHP в качестве источника в <audio tag>.
Вы можете расширить HTML с помощью собственного кода «другие вещи».

<!DOCTYPE html>
<html>
<body>

<div id = "div_myAudio">
    <audio id = "myAudio" controls>
    <source crossorigin = "anonymous" src = "getFile.php" type = "audio/mpeg">
    </audio>
</div>

<div id = "div_myOtherStuff">

    My "Other Stuff" (HTML code) goes here or anywhere inside this document "body" tag...

</div>

</body>
</html>

PS: Другой способ — просто echo html-теги из вашего PHP-файла. Браузер отобразит код. Я добавлю эти детали позже, если вам интересно.

VC.One 30.05.2019 18:54

Спасибо, что ответили мне - очень ценно.

Krayz 12.06.2019 17:29

Другие вопросы по теме