Определить если файл загружают с русским названием

  • Автор темы CDParkers
  • Дата начала

CDParkers

Guest
Определить если файл загружают с русским названием

Как можно определить в файле аплоуда что файл именован кирилицей и переименовать его в транслит, не потеряв тип файла.
 

CDParkers

Guest
Так как определить что название кирилицей?

-~{}~ 02.02.06 17:45:

Frol
Ну переменную беру $_FILES["name"]

-~{}~ 02.02.06 17:47:

тоесть $_FILES["imya_polya_formi"]["name"]
 

Frol

Новичок
ты не понял.
вот видишь ты файл.
как ты можешь определить, что он именован кирилицей.
 

Фанат

oncle terrible
Команда форума
CDParkers
не дай бог ты ещё раз вылезешь из своих топиков, и полезешь в чужие.
 

CDParkers

Guest
Frol
вот я себе тот же вопрос задаю,
что приходит в голову это использование рег выражений
 

CDParkers

Guest
Понимаю
Вижу файл, вижу символы кирилические (ю, я, й, п, д ...) - понимаю что именован кирилицей.
 

Фанат

oncle terrible
Команда форума
зачем определять, если можно просто всё подряд переводить в транслит?
 

CDParkers

Guest
Фанат
Тогда вопрос, как можно перевести имя(текст) в транслит?
 

CDParkers

Guest
Фанат
Ок, паду мануал читать, у меня кстати функции str_tr в мануале нет.

-~{}~ 02.02.06 18:10:

Такс прочитал про функцию str_replace , также наткнулся в мануале на функцию strtr (это видима та о которой вы говорили Фанат но она не так пишется, у кого правильно?)

Сопутствующий вопрос:
Функция strtr( string, array replace_pairs)
array replace_pairs - это массив, как я понял в моем случае кириллических букв, и соответствующих замен на латинице.
Где узнать общепринятые правила замены?
 

CDParkers

Guest
_vampiro_
Или может кто готовый масив даст.

-~{}~ 02.02.06 18:50:

Я использую перекодировку, так у меня есть масив для перевода, я его вот сейчас наполняю
$trans = array(
"а" => "a",
"б" => "b",
"в" => "v",
"г" => "g",
"д" => "d",
"е" => "e",
"ё" => "jo",
"ж" => "zh",
"з" => "z",
"и" => "i",
"й" => "j",
"к" => "k",
"л" => "l",
"м" => "m",
"н" => "n",
"о" => "o",
"п" => "p",
"р" => "r",
"с" => "s",
"т" => "t",
"у" => "u",
"ф" => "f",
"х" => "kh",
"ц" => "c",
"ч" => "ch",
"ш" => "sh",
"ъ" => "6",
"ы" => "y",
"ь" => "6",
"э" => "eh",
"ю" => "ju",
"я" => "ja");

Вопрос такой теперь, оно ведь не заменит мне те символы которые не опознает, тоесть те которые не будут занесены в масив. А если мне какое-то сербсское название пришлют или арабское, не дай бог
 

pitbuly

Новичок
я бы зделал так
PHP:
$file = 'файл.php';
$g = ord($file[0]);
if($g>127) echo 'файл кирилица';
 

pitbuly

Новичок
PHP:
$file = '2 февраля.dat';
for($i=0;$i<count($file);$i++)
{
 if($g=ord($file[$i])>127)  $file[$i]=вставим что надо;

}
 
Сверху