Столкнулся с такой вот проблемой не знаю как удалить символы (точки, запятые и прочее) из названий файлов. Например: есть файл с названием "3.14 Имя файла.txt", на выходе надо получить название в транслите, то есть "imja_fayla.txt". Как перевести в транслит я разобрался, а вот как удалить лишнее не знаю.... Вот сам код обработчика Код (Text): <?php $fname = $_FILES['load']['name']; $tmp = $_FILES['load']['tmp_name']; function translitLT($fname) { $amasiv = array( "А" => "A","а" => "a", "Б" => "B","б" => "b", "В" => "V","в" => "v", "Г" => "G","г" => "g", "Д" => "D","д" => "d", "Е" => "E","е" => "e", "Ё" => "JO","ё" => "jo", "Ж" => "ZH","ж" => "zh", "З" => "Z","з" => "z", "И" => "I","и" => "i", "К" => "K","к" => "k", "Л" => "L","л" => "l", "М" => "M","м" => "m", "Н" => "N","н" => "n", "О" => "O","о" => "o", "П" => "P","п" => "p", "Р" => "R","р" => "r", "С" => "S","с" => "s", "Т" => "T","т" => "t", "У" => "U","у" => "u", "Ф" => "F","ф" => "f", "Х" => "H","х" => "h", "Ц" => "C","ц" => "c", "Ч" => "CH","ч" => "ch", "Ш" => "SH","ш" => "sh", "Щ" => "SHH","щ" => "shh", "Ъ" => "#","ъ" => "#", "Ы" => "Y","ы" => "y", "Ь" => "`","ь" => "`", "Э" => "JE","э" => "je", "Ю" => "JU","ю" => "ju", "Я" => "JA","я" => "ja", " " => "_", "0" => "", "2" => "","3" => "", "4" => "","5" => "", "6" => "","7" => "", "8" => "","9" => "" ); return strtr($fname, $amasiv); } $fname = translitLT($fname); @mkdir("upload", 0777); $copy = copy ($tmp, "upload/". basename($fname)); if($copy){ echo 'Все прошло успешно <br>'; echo "<a href=\"/upload/$fname\">Скачать</a> | <a href=\"/\">Назад</a>"; } else { echo 'Возникла проблема при загрузке<br>'; echo "<a href=\"/\">Назад</a>"; } При добавлении в массив нового элемента "."=>"", получаю название в виде "imja_faylatxt"
Код (PHP): $filename ="3.14 Имя файла.txt"; $filename = substr($filename, 0,-4); твоя_функция($filename); $filename = $filename . ".txt";