Forum Webscript.Ru
Программирование => PHP => Тема начата: от 22 Декабря 2001, 23:18:36
-
Объясните как это работает :
... download.phtml?artist=11596&song=49951
и начинат скачиваться песня после нажатия.
Я хочу сделать интронет сеть с архивом песен, и мне надо узнать как этот скрипт работает.
Может у кого нибудь есть наподобие такого скрипта!
-
скрипт download.phtml узнает что за песня (song), что за артист (artist) и форумирует ссылку в $url. затем перенаправляет след-м образом:
-
Britva ну эти названия песн ведь где то хранятся или как?
А не мог бы ты так от понта тут написать типа скрипта для левой песни?
Плз!
-
Например так:
Обращение к скрипту вида:
script.php?song=цифра от 1 до n
switch ($song) {
case 1: $url="song1.mp3";
break;
case 2: $url="song2.mp3";
break;
case 3: $url="song3.mp3";
break;
case n: $url="songn.mp3";
break;
header("Location: $url");
}
?>
-
Походу тут небольшая недопечатка в конце пропала скобка }
И всё равно не хочет пахать, просто скрипт выполняется а файл не хочет мне дать
А можно ещё написать чтоб было артист и песня!
Хотя и за это спасибо, но всеравно чё то даже это не хочет пахать!
-
А наверное надо полный путь указать к файликам.
А можно ещё написать чтоб было артист и песня!
В каком смысле? Подробнее...
-
Ну вот как я написал на самом верху там и артист и песня есть
А вообще это что нибудь даёт, может это удобнее чтоб был артист и песня?
-
У тебя инфа о файлах где хранится (если вообще она есть)?
Если в базе - делаешь выборку типа
select from fong_file from songs where song_num=$song and art_num=$artist
Потом редиректишь на это имя файлика.
Если нет базы, то как файлы расположены на диске? Где? Какие форматы имен? Например, можно сделать формат имени файла таким:11596_49951.mp3, где до подчеркивания - код певца, после него - код песни.
Знаешь, вообще-то очень маловато инфы даешь про скрипт.
-
У меня вообщето нет самого скрипта. Я просто вижу что все сайты с музыкой написанные на пхп работают вот от этого скрипта ... download.phtml?artist=11596&song=49951.
Вот я бы и хотел увидеть вид этого скрипта!
Как я понял это работает: под 11596 понимается номер артиста а под 49951 номер его песни.
А я бы хотел так чтоб (пример) http://mysait.ru/music/download.php?artist=333&song=4
где 333 номер это vinipuh и 4 его песня (например 4 из 10 песен) это horoso zivet na svete vinipuh.
А путь к песне таков http://mysait.ru/music/rus/vinipuh-horoso zivet na svete vinipuh.mp3 а на локалке с:\\program files\\apache\\htdocs\\music\\rus\\vinipuh-horoso zivet na svete venipuh.mp3. Я не знаю может нужен файл-база где все песни должны храниться! Если есть ещё вопросы задавай попоробую описать.
-
Делается это так:
1) Создается каталог на диске
2) Переписывается в каталог все файлы с песнями
3) Создается база (текстовая, но лучше на самом деле база - MYSQL, MSSQL ... какая хочешь)
3) В первой табличке поля: код песни, название песни, код певца, имя файла, примечания
4) Во второй таблице поля: код певца, имя певца, примечания
5) Делаешь скриптик, который разбирает адресную строку и делает выборку из базы по коду певца, коду песни и т.д.
-
switch ($song) {
case 1: $url="song1.mp3";
break;
case 2: $url="song2.mp3";
break;
case 3: $url="song3.mp3";
break;
case n: $url="songn.mp3";
break;
header("Location: $url");
?>
Но почему он не хочет пахать я ему и полный путь прописал, а он исполняется и всё и не какого результата не вижу что мне песенку отдал?
Спассибо за описание!
-
попробуй вот так:
$absurl = "http://domain.ru/songs/";
switch($song) {
case 1: $url = $absurl."song1.mp3";
....
}
header("Location: $url");
-
Спасибо lodevar, Britva что помоголи разобраться!
Britva через absurl всё поплыло как надо!
И ещё не могли бы подсказать как лучше в этом в этом скрипте так всё оформить чтоб потом самому не запутаться(где какой исполнитель со своими песнями)? А то получается если я добавляю нового исп. с его песней и так потяхоньку буду добавлять, получится каша всё разбросано!
И ещё не подскажите как сделать чтоб считалось количество скачиваний этой или иной песни?
-
можно, например, вот так:
заходить через song.php?topic=lala&song=tututu
а в самом скрипте:
$url = "http://domain.ru/$topic/$song.mp3";
header("Location: $url");
все зависит от того, как у тебя инфа хранится и т.п.
-
А как всё таки можно сделать счёт скачиваний для каждой песни?
-
можно конечно. записывать в отдельный файл или базу.
-
А скриптик не подбросишь, было бы не плохо!
-
Аха, видно это дельце трудное или лень берёт.
Попробуем так, вроде в сети видел скрипт считает переходы по ссылкам может из этого скрипта чё накалякать?
-
Самый пупер по-моему, это база...
Например, таблица:
SondId | Filename | Counter
Загнать всё в базу, поиск песен - по резалту из поля filename...
При скачке - брать сопоставленный имени ID и скачивать...
и инкрементить поле Counter
только вот если надо будет защитить скачку - ведь ID будет всё время одинаковый, то надо будет подумать - как их динамически генерить... Например, использовать функцию time()
-
http://www.webscript.ru/stories/01/10/19/9668090
тут есть запись счетчика в бд
-
Помогите я нашёл скрипт http://download.sourceforge.net/Netamp/netamp-0.1.tar.gz
Как раз что и надо вроде, но в нём надо зоздать в mysql таблицы файлом как то наз.mysql
И зачем там ещё пёрловские срипты нужны?
-
Из всего выше прочитанного меня навело а мысль, что человек нефига непонимает в PHP а хочеться ему скриптик просто ужас. Попробовал бы купить книжку по PHP пару дней и сварганел бы себе скриптик. Потом докупился книженкой по MySql и еще через пару дней сделал бы up под MySql и жизнь бы казалась просто шоколадом.
Все что ты сдесь спрашивал делаеться букавльно за один день.
1. Пишиться аодинистративная и клиенская часть на PHP
2. Все данные хранишь в MySql
Административная часть тебе недаст запутаться с расположением песен на диске. И делать ничего ненадо будет руками только: "Добавить песню", а далее новый исполнитель или уже существующий...
Что это тебе даст, а все что угодно - шочешь подсчитать сколько песен данного исполнителя в базе. Сколько песен всего. Вести статистику самых популярных.
Во первых тебе надо определиться, что ты именно хочешь от всего этого и для кого это будет все работать.
-
Судя по теме сообщения - нас не догонят
-
А я ещё бы хотел штоб у песен показывалось частота битрейд и размер для этого тоже надо будет таблицы создавать.
И как сделать для рус. и анг. песен чтоб они по буквам были(исполнители)
-
Легко в Mysql базе добавляеш стоблец downloaded_times ну как хочешь потом когда песня скачиваться выполняется sql-запрос нечто вроде
sql="select times,song from mp3_arhiv where sondgid=\\"$songid\\" ";
$result=mysql_query($sql);
list($downloaded_times ,song)=mysql_fetch_array($result);
$downloaded_times++
print "Вы $downloaded_times скачали песню";
sql="update mp3_arhiv set downloaded_times=\\"$downloaded_times\\" ";
$result=mysql_query($sql);
?>
mp3_arhiv - имя таблицы где у тебя всё это дело хранится
-
Короче давайте потехоньку.
Я тут недавно приобрёл книженцию по пхп и прочитал 250 стр и пока нихрена непонимаю, я во всяких массивах запутался да и не тольков них.
Для начала скажите какие нужно создать таблицы и поля.
Если я хочу шоб выводилась информация о песне такая: исполнитель название песни битрейд частота и размер?
-
Посмотрите так пойдёт:
CREATE TABLE artist (
ID int(11) NOT NULL auto_increment,
name char(255) default NULL,
PRIMARY KEY (ID),
KEY name (name)
) TYPE=MyISAM;
CREATE TABLE song (
ID int(11) NOT NULL auto_increment,
file text NOT NULL,
title varchar(255) NOT NULL default \'\',
comment text,
size varchar(10) NOT NULL default \'\',
length_min float NOT NULL default \'0\',
bitrate smallint(6) NOT NULL default \'0\',
freq mediumint(9) NOT NULL default \'0\',
artistID int(11) NOT NULL default \'0\',
PRIMARY KEY (ID),
KEY file (file(60)),
KEY title (title),
KEY artistID (artistID)
) TYPE=MyISAM;