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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Загрузка файлов на сервер, кирилица и пробелы 
:(
    Опции темы
Vex
Дата 2.8.2007, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


кацапосрачмученiкъ
****


Профиль
Группа: Экс. модератор
Сообщений: 3103
Регистрация: 28.3.2002
Где: strawberry fields

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



привет, пытаюсь залить файл на сервер:

Код

$dest=$updir.$userfile_name;
    move_uploaded_file($userfile, $dest);


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

СУВ.

Это сообщение отредактировал(а) Vex - 2.8.2007, 20:12


--------------------
Слава Україні.
PM   Вверх
Anarki
Дата 2.8.2007, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вообще зависит от кодировки в какой пришло название файла, как мне кажется.
Тогда определить кодировку и проставить локаль через setlocale вначале(или сконвертировать в нужную кодировку, которая задана для скрипта)
По определению кодировок
А затем перевести в латинские буквы
Вот отсюда скрипт транслитерации
http://www.softtime.ru/scripts/translit.php
Там буквально изменить пару строчек и получится что нужно:
Код

<?php

  // функция превода текста с кириллицы в траскрипт

  function encodestring($st)

  {

    // Сначала заменяем "односимвольные" фонемы.

    $st=strtr($st,"абвгдеёзийклмнопрстуфхъыэ ",

    "abvgdeeziyklmnoprstufh'ie_");

    $st=strtr($st,"АБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЭ",

    "ABVGDEEZIYKLMNOPRSTUFH'IE");

    // Затем - "многосимвольные".

    $st=strtr($st, 

                    array(

                        "ж"=>"zh", "ц"=>"ts", "ч"=>"ch", "ш"=>"sh", 

                        "щ"=>"shch","ь"=>"", "ю"=>"yu", "я"=>"ya",

                        "Ж"=>"ZH", "Ц"=>"TS", "Ч"=>"CH", "Ш"=>"SH", 

                        "Щ"=>"SHCH","Ь"=>"", "Ю"=>"YU", "Я"=>"YA",

                        "ї"=>"i", "Ї"=>"Yi", "є"=>"ie", "Є"=>"Ye"

                        )

             );

    // Возвращаем результат.

    return $st;

  }
echo encodestring('бла бла.jpg');
?>





Это сообщение отредактировал(а) Anarki - 2.8.2007, 20:38


--------------------
PM WWW   Вверх
Vex
Дата 2.8.2007, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


кацапосрачмученiкъ
****


Профиль
Группа: Экс. модератор
Сообщений: 3103
Регистрация: 28.3.2002
Где: strawberry fields

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



Спасибо!

Добавлено через 4 минуты и 43 секунды
а вообще наверное каждый раз гененрировать уникально имя для файла, латиницой без всяких траблов...


--------------------
Слава Україні.
PM   Вверх
Всемогущий
Дата 3.8.2007, 05:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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




Цитата(Vex @  2.8.2007,  22:10 Найти цитируемый пост)
есть какая-то функция, которая преобразовывает имя файла в приемлемый вид - латинские буквы и замена пробела знаком подчеркивания?


Может попробовать 

base64_encode()



--------------------
Цитата(smartov @  16.1.2007,  13:26 Найти цитируемый пост)
Видел я PHP код, который пишут наСильники, никогда на php не писавшие  :D  То еще зрелище. Все пытаются сделать руками и через ж (как в С привыкли). Все пытаются память освобождать итд итп. 
PM MAIL ICQ   Вверх
Vex
Дата 3.8.2007, 06:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


кацапосрачмученiкъ
****


Профиль
Группа: Экс. модератор
Сообщений: 3103
Регистрация: 28.3.2002
Где: strawberry fields

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



всем спасибо, я рандомным путем пошел. base64_encode(), насколько я знаю обязательно надо использовать, если письмо именно прикрепляецца. у меня в письме тока приходит ссылка на файл smile


--------------------
Слава Україні.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

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

Важно:

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

Внимание:

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

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

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


 




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


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

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