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

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

CDParkers

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

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

-~{}~ 02.02.06 17:45:

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

-~{}~ 02.02.06 17:47:

тоесть $_FILES["imya_polya_formi"]["name"]
 
ты не понял.
вот видишь ты файл.
как ты можешь определить, что он именован кирилицей.
 
CDParkers
не дай бог ты ещё раз вылезешь из своих топиков, и полезешь в чужие.
 
Frol
вот я себе тот же вопрос задаю,
что приходит в голову это использование рег выражений
 
Понимаю
Вижу файл, вижу символы кирилические (ю, я, й, п, д ...) - понимаю что именован кирилицей.
 
зачем определять, если можно просто всё подряд переводить в транслит?
 
Фанат
Тогда вопрос, как можно перевести имя(текст) в транслит?
 
Фанат
Ок, паду мануал читать, у меня кстати функции str_tr в мануале нет.

-~{}~ 02.02.06 18:10:

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

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

Вопрос такой теперь, оно ведь не заменит мне те символы которые не опознает, тоесть те которые не будут занесены в масив. А если мне какое-то сербсское название пришлют или арабское, не дай бог
 
я бы зделал так
PHP:
$file = 'файл.php';
$g = ord($file[0]);
if($g>127) echo 'файл кирилица';
 
PHP:
$file = '2 февраля.dat';
for($i=0;$i<count($file);$i++)
{
 if($g=ord($file[$i])>127)  $file[$i]=вставим что надо;

}
 
Сверху