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

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

12.04.2011, 00:58. Показов 29727. Ответов 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
178 / 226 / 31
Регистрация: 18.02.2010
Сообщений: 2,313
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
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru