Заменяне на имената с кирилица

shashma88

Registered
Код:
if(isset($_POST[upload])) { 
$name=$_FILES['file']['name'];
@move_uploaded_file($_FILES['file']["tmp_name"], "upload/" . $name);
}

Искам файлове, чийто имена са на кирилица, да се превръщат в латиница. Благодаря предварително.
 
ето .. спретнах го за 3 мин . няма и толкос .. просто трябва да се помъчиш малко .. ;)
PHP:
$NewN  = "Някакво име . . ."; // imeto na faila .. 

	
$bg = array('а','б','в','г','д','е','ж','з','и','й','к','л','м','н','о','п','р','с','т','ш','щ','ц','ъ','х','у','я','ч','екс','ю','ь');

$en = array('a','b','v','g','d','e','j','z','i','i','k','l','m','n','o','p','r','s','t','6','6t','tc','u','h','y','q','4','x','iu','io');

$glavniBG = array('A','Б','В','Г','Д','Е','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','Ш','Щ','Ц','Ъ','Х','У','Я','Ч','ЕКС','Ю','Ь');

$glavniEN = array('A','B','V','G','D','E','J','Z','I','I','K','L','M','N','O','P','R','S','T','SH','SHT','TC','U','H','Y','Z','Q','4','X','IU','io');

$NewN = str_replace(" ","_",$NewN); // zamenqm space sas _
$NewN = str_replace($bg,$en,$NewN); // zamenqm bg s EN
$NewN = str_replace($glavniBG,$glavniEN,$NewN);//zamenqm Glavnite BG s glavnite EN
$NewN = strtolower($NewN); // pravq vsi4ki bukvi malki
 
Еми правя си функцията, но не става, изкарва празно, и файла не се качва.
Код:
function cyrtolat($string){
$bg = array('а','б','в','г','д','е','ж','з','и','й','к','л','м','н','о','п','р','с','т','ш','щ','ц','ъ','х','у','я','ч','екс','ю','ь');

$en = array('a','b','v','g','d','e','j','z','i','i','k','l','m','n','o','p','r','s','t','6','6t','tc','u','h','y','q','4','x','iu','io');

$glavniBG = array('A','Б','В','Г','Д','Е','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','Ш','Щ','Ц','Ъ','Х','У','Я','Ч','ЕКС','Ю','Ь');

$glavniEN = array('A','B','V','G','D','E','J','Z','I','I','K','L','M','N','O','P','R','S','T','SH','SHT','TC','U','H','Y','Z','Q','4','X','IU','Ь');

$string = str_replace(" ","_",$string); // zamenqm space sas _
$string = str_replace($bg,$en,$string); // zamenqm bg s EN
$string = str_replace($glavniBG,$glavniEN,$string);//zamenqm Glavnite BG s glavnite EN
$string = strtolower($string); // pravq vsi4ki bukvi malki
}
 
а така ..
if(isset($_POST[upload])) {
$name=$_FILES['file']['name'];
$bg = array('а','б','в','г','д','е','ж','з','и','й','к','л','м','н','о','п','р','с','т','ш','щ','ц','ъ','х','у','я','ч','екс','ю','ь');

$en = array('a','b','v','g','d','e','j','z','i','i','k','l','m','n','o','p','r','s','t','6','6t','tc','u','h','y','q','4','x','iu','io');

$glavniBG = array('A','Б','В','Г','Д','Е','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','Ш','Щ','Ц','Ъ','Х','У','Я','Ч','ЕКС','Ю','Ь');

$glavniEN = array('A','B','V','G','D','E','J','Z','I','I','K','L','M','N','O','P','R','S','T','SH','SHT','TC','U','H','Y','Z','Q','4','X','IU','Ь');

$name = str_replace(" ","_",$name); // zamenqm space sas _
$name = str_replace($bg,$en,$name); // zamenqm bg s EN
$name = str_replace($glavniBG,$glavniEN,$name);//zamenqm Glavnite BG s glavnite EN
$name = strtolower($name); // pravq vsi4ki bukvi malki
@move_uploaded_file($_FILES['file']["tmp_name"], "upload/" . $name);
}
 
PHP:
/**
  * Generates new file name
  * 
  * Transliterate a given file name from Cyrillic to Latin letters. 
  * Pass the original file name as parameter. 
  *
  * @param string $name Original file name
  * @return string Transliterated file name
  */
function generateFileName($name){

    $bg = array('а','б','в','г','д','е','ж','з','и','й','к','л','м','н','о','п','р','с','т','ш','щ','ц','ъ','х','у','я','ч','екс','ю','ь');

    $en = array('a','b','v','g','d','e','j','z','i','i','k','l','m','n','o','p','r','s','t','6','6t','tc','u','h','y','q','4','x','iu','io');

    $glavniBG = array('A','Б','В','Г','Д','Е','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','Ш','Щ','Ц','Ъ','Х','У','Я','Ч','ЕКС','Ю','Ь');

    $glavniEN = array('A','B','V','G','D','E','J','Z','I','I','K','L','M','N','O','P','R','S','T','SH','SHT','TC','U','H','Y','Z','Q','4','X','IU','Ь');

    $name = str_replace(" ","_",$name); // zamenqm space sas _
    $name = str_replace($bg,$en,$name); // zamenqm bg s EN
    $name = str_replace($glavniBG,$glavniEN,$name);//zamenqm Glavnite BG s glavnite EN
    $name = strtolower($name); // pravq vsi4ki bukvi malki 

    return $name;
}

//example:
if(isset($_POST['upload'])) { 
   $name = generateFileName($_FILES['file']['name']);
   @move_uploaded_file($_FILES['file']["tmp_name"], "upload/" . $name); 
}
 

Back
Горе