Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите разобраться с окном скачивания! 
:(
    Опции темы
beastgrim
Дата 14.2.2008, 05:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 13.2.2008

Репутация: нет
Всего: нет



На сайте при скачивании песни, открывается окно загрузки и название песни пишутся:

1. На Opera русские названия песен пишет каракулями: Dj Slon & �����-� - ��������.mp3
2. На IE пишет название с нижним подчеркиванием: Dj_Slon_&_Ангел-А_-_Дельфины.mp3
3. На FireFox после первого пробела вообще ничего не пишет: Dj

Пожалуйта подскажите как эти браузеры подружить с русским языком! Чтоб песня скачивалась с оригинальным названием:
Dj Slon & Ангел-А - Лето, Прощай на всех браузерах. Заранее безгранично благодарен!
PM MAIL WWW   Вверх
GeneralElectric
Дата 14.2.2008, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



А есть сайт, какой-нибудь другой, где под любым браузером скачивается нормально?
PM MAIL   Вверх
beastgrim
Дата 14.2.2008, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 13.2.2008

Репутация: нет
Всего: нет



Нет! Это мой первый сайт могу ссылку дать! Просто не знаю, разрешено на форуме это!
PM MAIL WWW   Вверх
GeneralElectric
Дата 14.2.2008, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



На свой не надо.
Тебе надо пойти на чужой. Посмотреть, как сделано там. И сделать у себя так же.
Заодно узнаешь, возможно ли это в принципе.
PM MAIL   Вверх
beastgrim
Дата 14.2.2008, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 13.2.2008

Репутация: нет
Всего: нет



Не совсем понятно если честно! Как я могу смотреть скрипты php на чужых сайтах, это невозможно! Можно увидеть только html код!
я использую такой скрипт
Код

  $get_name=("$row[name].mp3"); // имя которое в разных браузерах отображается поразному (как описано выше)
  $true_name=".$row[file]."; // путь к файлу
  $f_size= filesize($true_name);
  header("Content-type: audio/mpeg");
  header("Content-Disposition: attachment; filename=".$get_name.";");
  header("Accept-Ranges: bytes");
  header("Content-Length: ".$f_size);
  readfile($true_name);

PM MAIL WWW   Вверх
GeneralElectric
Дата 14.2.2008, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



Кроме HTML кода можно посмотреть HTTP заголовки. PHP FAQ: Самые основы. Просмотр обмена HTTP заголовками
PM MAIL   Вверх
skyboy
Дата 14.2.2008, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



вопрос 1: почему нельзя транслитерировать название файла в написанное латиницей или вообще возвращать имя файла, как "id_в_базе_данных.расширение_оригинального_файла"?
вопрос 2: найди сервис, на котором будет отдаваться тебе файл с кирилическим именем. Посмотри заголовки, отправляемые сервером. Что-то мне подсказывает, что в Content-Disposition/filename будет имя в кодировке unicode(или utf-8), закодированное при помощи мнемокода типа И и т.п.. Впрочем, могу и ошибаться. Сходу "русскоязычноназванных" файлов не нашел. 
PM MAIL   Вверх
beastgrim
Дата 15.2.2008, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 13.2.2008

Репутация: нет
Всего: нет



То есть надо с настройками apache копаться что-ли!?
У меня так и есть: "возвращать имя файла, как "id_в_базе_данных.расширение_оригинального_файла"
С сервисами непонятно!
Я всего 3 месяца назад начал изучать html,css,php,mysql!
Я хочу чтобы именно по-русски выводилось имя скачиваемого файла, чтобы человек скачивающий песню потом не переименовывал файл
(вообщем чтобы людям было удобно)!
Извините что достаю вопросами! smile 

Это сообщение отредактировал(а) beastgrim - 15.2.2008, 16:45
PM MAIL WWW   Вверх
FractalizeR
Дата 15.2.2008, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 27.12.2007
Где: Россия/Москва

Репутация: 2
Всего: 4



Поле content-disposition нельзя указывать русскими буквами.
http://www.ietf.org/rfc/rfc2183.txt

Во всяком случае, ждать от этого ничего хорошего не приходится, так как это не предусмотрено стандартом.

В качестве решения можно предложить отдавать браузеру пользователя ZIP архив с нулевым сжатием (чтобы на быстродействие не влияло, благо его налету сляпать можно), но с файлом с русским именем внутри. Заодно и целостность скачанного трека пользователь проверит. Правда, геморрой получит с распаковкой...

А заголовок header("Accept-Ranges: bytes"); отправлять не нужно, поскольку вы все же докачку не поддерживаете, судя по readfile.

Это сообщение отредактировал(а) FractalizeR - 15.2.2008, 20:44


--------------------
Чтобы поблагодарить или наоборот поругать участника форума лучше пользоваться значками "+" и "-", изменяющими репутацию. Они находятся слева от поста под именем пользователя.
PM MAIL   Вверх
beastgrim
Дата 15.2.2008, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 13.2.2008

Репутация: нет
Всего: нет



Я точно знаю что сделать закачку можно с русскими буквами посколько на сайте http://freshmp3.ru/ скачиваются русские песни с русским названием (именно как я и хочу)! Вот как там это реализовано? Попробую связаться с главным админом!
Если есть идеи (любые) пишите пожалуйста!
PM MAIL WWW   Вверх
FractalizeR
Дата 15.2.2008, 21:12 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 27.12.2007
Где: Россия/Москва

Репутация: 2
Всего: 4



На указанном вами сайте они делают так:
Код

// look for entities in the file name, and if found try to convert
// the filename to UTF-8
$filename = $attachmentinfo['filename'];
if (preg_match('~&#([0-9]+);~', $filename))
{
    if (function_exists('iconv'))
    {
        $filename_conv = @iconv($stylevar['charset'], 'UTF-8//IGNORE', $filename);
        if ($filename_conv !== false)
        {
            $filename = $filename_conv;
        }
    }

    $filename = preg_replace(
        '~&#([0-9]+);~e',
        "convert_int_to_utf8('\\1')",
        $filename
    );
    $filename_charset = 'utf-8';
}
else
{
    $filename_charset = $stylevar['charset'];
}

$filename = preg_replace('#[\r\n]#', '', $filename);

// Opera and IE have not a clue about this, mozilla puts on incorrect extensions.
if (is_browser('mozilla'))
{
    $filename = "filename*=" . $filename_charset . "''" . rawurlencode($filename);
    //$filename = "filename==?$stylevar[charset]?B?" . base64_encode($filename) . "?=";
}
else
{
    // other browsers seem to want names in UTF-8
    if ($filename_charset != 'utf-8' AND function_exists('iconv'))
    {
        $filename_conv = iconv($filename_charset, 'UTF-8//IGNORE', $filename);
        if ($filename_conv !== false)
        {
            $filename = $filename_conv;
        }
    }

    if (is_browser('opera') OR is_browser('konqueror') OR is_browser('safari'))
    {
        // Opera / Konqueror does not support encoded file names
        $filename = 'filename="' . str_replace('"', '', $filename) . '"';
    }
    else
    {
        // encode the filename to stay within spec
        $filename = 'filename="' . rawurlencode($filename) . '"';
    }
}




--------------------
Чтобы поблагодарить или наоборот поругать участника форума лучше пользоваться значками "+" и "-", изменяющими репутацию. Они находятся слева от поста под именем пользователя.
PM MAIL   Вверх
beastgrim
Дата 16.2.2008, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 13.2.2008

Репутация: нет
Всего: нет



Спасибо огромное FractalizeR  smile ! Как только доберусь до дома проверю этот скриптик! Должен работать!
Еще раз спасибо  smile !
PM MAIL WWW   Вверх
FractalizeR
Дата 16.2.2008, 02:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 27.12.2007
Где: Россия/Москва

Репутация: 2
Всего: 4



Имейте ввиду, что он выдран из контекста и просто так не заработает. Я его вам привел, чтобы вы разобрались, как это работает у них вообще.


--------------------
Чтобы поблагодарить или наоборот поругать участника форума лучше пользоваться значками "+" и "-", изменяющими репутацию. Они находятся слева от поста под именем пользователя.
PM MAIL   Вверх
beastgrim
Дата 16.2.2008, 04:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 13.2.2008

Репутация: нет
Всего: нет



Это конечно понятно! Я его под свой сайт заточу! smile 
PM MAIL WWW   Вверх
beastgrim
Дата 16.2.2008, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 13.2.2008

Репутация: нет
Всего: нет



Все поставил скриптик! Все отлично работает!
FractalizeR ты просто супер, выручил меня! smile 
Мне вот интересно, если не секрет, откуда ты взял скрипт этот!
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.4526 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.