Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.86/154: Рейтинг темы: голосов - 154, средняя оценка - 4.86
 Аватар для ketch
1 / 1 / 0
Регистрация: 28.07.2009
Сообщений: 79

Как сделать ссылку на скачивание mp3 файла?

12.04.2011, 00:58. Показов 29452. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Мне нужно сделать на своем сайте прямое скачивание mp3 файлов по ссылкам, я столкнулся с такой проблемой что если я на скачивание файла делаю ссылку вида
<a href="mysite.com/song.mp3">ссылка</a> то при нажатии на такую ссылку, скачивание файла не происходит, а просто открывается новая вкладка и Mp3 файл начинает проигрываться в Qick Time плеере.. И скачать его можно только нажав правой кнопкой по ссылке и выбрать "Сохранить файл как.."

Я в курсе что если ставить подобную ссылку на скачивание zip и rar архивов, то все без проблем начинает скачиваться. Но как сделать чтобы скачивались mp3 файлы при нажатии левой кнопкой мыши по ссылке?

Надеюсь я все понятно объяснил. =)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.04.2011, 00:58
Ответы с готовыми решениями:

Как сделать скачивание mp3-файла вместо открытия в браузере?
Добрый день. Подскажите пожалуйста как сделать кнопку для скачивания mp3 файла? Если ставить так: &lt;a...

как в php разместить ссылку на скачивание файла, который был загружен на сервер?
есть страница с формой, через которую файл загружается на сервер, часть кода: &lt;form action=&quot;upload.php&quot;...

как на php сделать скачивание файла
как на php сделать скачивание файла например if(a=9){начинается скачивание файла на пк}

23
 Аватар для Mailo
248 / 226 / 31
Регистрация: 18.02.2010
Сообщений: 2,312
12.04.2011, 12:58
Собственно это везде так, решается путём удаления квиктайма или отучки его съедать mp3 файлы, которые открываются в браузерах. Вторым не занимался, скорее всего это в настройках самого квиктайма либо в общем списке прописи расширений для приложений в windows.

P.S. А ещё это может быть какаянить реестровая интеграция в контекстное меню, т.к. скачивать эти файлы с установленным квиктаймом приходится именно через него
0
2 / 2 / 0
Регистрация: 23.08.2011
Сообщений: 79
24.09.2012, 16:16
А вот такая проблема?
Вставляю ссылку вида http://vseint.ru/images/NoEnter.zip, а оно пишет в новом окне:The requested URL /images/NoEnter.zip was not found on this server.
что делать?
0
 Аватар для Dolphin
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
24.09.2012, 16:59
Лучший ответ Сообщение было отмечено Taatshi как решение

Решение

Создаешь файл download.php и пишешь в него:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$DIR = $_SERVER['DOCUMENT_ROOT']."/mp3/";
$file = $DIR.htmlspecialchars($_GET['q']);
 
if(file_exists($file)) {
    header('Content-Type: audio/mpeg');
    header('Content-Disposition: filename="'.htmlspecialchars($_GET['q']).'"');
    header('Content-length: '.filesize($file));
    header('Cache-Control: no-cache');
    header("Content-Transfer-Encoding: chunked"); 
 
    readfile($file);
} else {
    header("HTTP/1.0 404 Not Found");
}

а там где нужна ссылка на скачивание, пишешь:

HTML5
1
<a href="mysite.com/download.php?q=song.mp3">ссылка</a>
0
2 / 2 / 0
Регистрация: 23.08.2011
Сообщений: 79
24.09.2012, 22:28
пишу так: vseint.ru/soft/download.php?q=NoEnter.rar , а оно все равно ругается

Добавлено через 4 часа 51 минуту
Ни кто не знает по чему?
0
 Аватар для Dolphin
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
25.09.2012, 06:43
а там точно есть этот файл?

Добавлено через 53 секунды
Цитата Сообщение от Courageous Посмотреть сообщение
пишу так: vseint.ru/soft/download.php?q=NoEnter.rar , а оно все равно ругается
и в данном примере заголовки для аудио файлов
0
2 / 2 / 0
Регистрация: 23.08.2011
Сообщений: 79
25.09.2012, 08:55
файл есть, а в коде я подправил мр3 на rar.
Если не правильно, то как RAR или ZIP скачвать?
0
 Аватар для Dolphin
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
25.09.2012, 09:04
Цитата Сообщение от Courageous Посмотреть сообщение
файл есть, а в коде я подправил мр3 на rar.
Если не правильно, то как RAR или ZIP скачвать?
По идее просто ссылка на файл
HTML5
1
<a href="/soft/NoEnter.rar">NoEnter.rar</a>
с учетом регистра.
0
2 / 2 / 0
Регистрация: 23.08.2011
Сообщений: 79
25.09.2012, 11:54
может еще в чем-то проблема есть?
0
 Аватар для Dolphin
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
25.09.2012, 11:56
Цитата Сообщение от Courageous Посмотреть сообщение
может еще в чем-то проблема есть?
в htaccess что нибудь написано?
0
2 / 2 / 0
Регистрация: 23.08.2011
Сообщений: 79
25.09.2012, 20:36
AddDefaultCharset utf-8

Добавлено через 1 минуту
вот еще
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
##
# @package      Joomla
# @copyright    Copyright (C) 2005 - 2012 Open Source Matters. All rights reserved.
# @license      GNU General Public License version 2 or later; see LICENSE.txt
##
 
##
# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE!
#
# The line just below this section: 'Options +FollowSymLinks' may cause problems
# with some server configurations.  It is required for use of mod_rewrite, but may already
# be set by your server administrator in a way that dissallows changing it in
# your .htaccess file.  If using it causes your server to error out, comment it out (add # to
# beginning of line), reload your site in your browser and test your sef url's.  If they work,
# it has been set by your server administrator and you do not need it set here.
##
 
## Can be commented out if causes errors, see notes above.
Options +FollowSymLinks
 
## Mod_rewrite in use.
 
RewriteEngine On
 
## Begin - Rewrite rules to block out some common exploits.
# If you experience problems on your site block out the operations listed below
# This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to base64_encode data within the URL.
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
# Block out any script that includes a <script> tag in URL.
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL.
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL.
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Return 403 Forbidden header and show the content of the root homepage
RewriteRule .* index.php [F]
#
## End - Rewrite rules to block out some common exploits.
 
## Begin - Custom redirects
#
# If you need to redirect some pages, or set a canonical non-www to
# www redirect (or vice versa), place that code here. Ensure those
# redirects use the correct RewriteRule syntax and the [R=301,L] flags.
#
## End - Custom redirects
 
##
# Uncomment following line if your webserver's URL
# is not directly related to physical file paths.
# Update Your Joomla! Directory (just / for root).
##
 
# RewriteBase /
 
## Begin - Joomla! core SEF Section.
#
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index\.php
# and the request is for something within the component folder,
# or for the site root, or for an extensionless URL, or the
# requested URL ends with one of the listed extensions
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]
#
## End - Joomla! core SEF Section.
Добавлено через 2 часа 8 минут
есть еще идеи?

Добавлено через 1 час 29 минут
Ну хоть кто нибудь, подскажите

Добавлено через 4 часа 4 минуты
Help!!!!
0
Почетный модератор
12274 / 5340 / 268
Регистрация: 05.04.2011
Сообщений: 14,086
Записей в блоге: 2
25.09.2012, 20:51
The requested URL /images/NoEnter.zip was not found on this server - это значит, что файл по этому пути не расположен. Проверяйте пути.
0
2 / 2 / 0
Регистрация: 23.08.2011
Сообщений: 79
26.10.2012, 09:07
Спасибо, уже разобрался.
0
8 / 5 / 4
Регистрация: 18.02.2014
Сообщений: 409
13.08.2014, 23:48
Если кому то нужно есть простое решение с тегом download например
HTML5
1
<a href="12.mp3" download>Скачать</a>
1
(ノಠ益ಠ)ノ彡┻━┻
 Аватар для N3stY
152 / 152 / 78
Регистрация: 05.06.2014
Сообщений: 710
Записей в блоге: 2
18.08.2014, 17:15
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$DIR = $_SERVER['DOCUMENT_ROOT']."/mp3/"; //Это папка где лежат файлы
$file = $DIR.htmlspecialchars($_GET['q']);
 
if(file_exists($file)) {
    header('Content-Type: audio/mpeg'); //Это определяет тип файла
    header('Content-Disposition: filename="'.htmlspecialchars($_GET['q']).'"');
    header('Content-length: '.filesize($file));
    header('Cache-Control: no-cache');
    header("Content-Transfer-Encoding: chunked"); 
 
    readfile($file);
} else {
    header("HTTP/1.0 404 Not Found");
}
ZIP и RAR не нужно скачивать через хитромудрые скрипты, достаточно указать прямую ссыль к архиву.

Ссылки указываются с http:// иначе браузер считает домен как папку!
0
0 / 0 / 0
Регистрация: 26.10.2015
Сообщений: 1
26.10.2015, 20:55
эту код куда ставить ? HEAD или BODY ?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$DIR = $_SERVER['DOCUMENT_ROOT']."/mp3/"; //Это папка где лежат файлы
$file = $DIR.htmlspecialchars($_GET['q']);
 
if(file_exists($file)) {
    header('Content-Type: audio/mpeg'); //Это определяет тип файла
    header('Content-Disposition: filename="'.htmlspecialchars($_GET['q']).'"');
    header('Content-length: '.filesize($file));
    header('Cache-Control: no-cache');
    header("Content-Transfer-Encoding: chunked"); 
 
    readfile($file);
} else {
    header("HTTP/1.0 404 Not Found");
}
0
(ノಠ益ಠ)ノ彡┻━┻
 Аватар для N3stY
152 / 152 / 78
Регистрация: 05.06.2014
Сообщений: 710
Записей в блоге: 2
27.10.2015, 10:15
Zafar, это код PHP не HTML
0
0 / 0 / 0
Регистрация: 27.10.2015
Сообщений: 1
27.10.2015, 18:33
я ставил эту код в открытии body все равно ощипка на странице как текст выходить куда мне ее ставит ?

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$DIR = $_SERVER['DOCUMENT_ROOT']."/mp3/"; //Это папка где лежат файлы
$file = $DIR.htmlspecialchars($_GET['q']);
 
if(file_exists($file)) {
    header('Content-Type: audio/mpeg'); //Это определяет тип файла
    header('Content-Disposition: filename="'.htmlspecialchars($_GET['q']).'"');
    header('Content-length: '.filesize($file));
    header('Cache-Control: no-cache');
    header("Content-Transfer-Encoding: chunked"); 
 
    readfile($file);
} else {
    header("HTTP/1.0 404 Not Found");
}
0
(ノಠ益ಠ)ノ彡┻━┻
 Аватар для N3stY
152 / 152 / 78
Регистрация: 05.06.2014
Сообщений: 710
Записей в блоге: 2
01.11.2015, 22:45
Zafar Rahim, еще раз это НЕ HTML. Детальней
0
 Аватар для danyasworld
10 / 9 / 2
Регистрация: 12.04.2015
Сообщений: 238
Записей в блоге: 2
26.12.2015, 17:48
Dolphin,
Цитата Сообщение от Dolphin Посмотреть сообщение
Создаешь файл download.php и пишешь в него:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$DIR = $_SERVER['DOCUMENT_ROOT']."/mp3/";
$file = $DIR.htmlspecialchars($_GET['q']);
 
if(file_exists($file)) {
    header('Content-Type: audio/mpeg');
    header('Content-Disposition: filename="'.htmlspecialchars($_GET['q']).'"');
    header('Content-length: '.filesize($file));
    header('Cache-Control: no-cache');
    header("Content-Transfer-Encoding: chunked"); 
 
    readfile($file);
} else {
    header("HTTP/1.0 404 Not Found");
}
немного переделал этот код под скачивание exe файлов. Никто не знает , почему файл удаляется сразу после загрузки?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.12.2015, 17:48
Помогаю со студенческими работами здесь

Нажатие на ссылку -> Перенаправление на другую страницу -> Скачивание файла
Хочу сделать так: На странице закачок, если нажать на ссылку -&gt; перенаправляет на другую страницу(благодарность, что выбрали наш сайт) и...

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

Как сделать ссылку на скачивание mp3 без архивирования?
&lt;a href=&quot;sound/pesenka.mp3&quot;&gt;Скачать песню&lt;/a&gt; Хороший вариант, но мне бы хотелось, чтобы при щелчке на ссылке сразу же начиналось...

Как сделать ссылку на скачивание файла на Joomla?
Подскажите люди добрые!!!!! Можно ли на Joomla сделать ссылку на скачивание файла, ссылку на новую страницу легко, а именно на...

Как сделать ссылку на скачивание
Всем привет , вот у меня такая проблема . Я знаю HTML но одно никак немогу понять, как сделать ссылку на скачивание на своем сайте :(


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru