Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Программирование > PHP

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 06.08.2004, 11:24
cosmo вне форума Посмотреть профиль Отправить личное сообщение для cosmo Найти все сообщения от cosmo
  № 1  
cosmo

Регистрация: Mar 2001
Адрес: Екатеринбург
Сообщений: 286
Отправить сообщение для cosmo с помощью ICQ
По умолчанию Полезная функция копирования файлов. Оцените пожалуйста

Код:
$filesdir="img";
function rusConv($filename) {
global $i,$filesdir;
	$tlcfn=strtr($filename,"АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ ","абвгдеёжзийклмнопрстуфхцчшщъыьэюя_");
	$tlcfn=str_replace("а","a",$tlcfn);
	$tlcfn=str_replace("б","b",$tlcfn);
	$tlcfn=str_replace("в","v",$tlcfn);
	$tlcfn=str_replace("г","g",$tlcfn);
	$tlcfn=str_replace("д","d",$tlcfn);
	$tlcfn=str_replace("е","e",$tlcfn);
	$tlcfn=str_replace("ё","yo",$tlcfn);
	$tlcfn=str_replace("ж","j",$tlcfn);
	$tlcfn=str_replace("з","z",$tlcfn);
	$tlcfn=str_replace("и","i",$tlcfn);
	$tlcfn=str_replace("й","y",$tlcfn);
	$tlcfn=str_replace("к","k",$tlcfn);
	$tlcfn=str_replace("л","l",$tlcfn);
	$tlcfn=str_replace("м","m",$tlcfn);
	$tlcfn=str_replace("н","n",$tlcfn);
	$tlcfn=str_replace("о","o",$tlcfn);
	$tlcfn=str_replace("п","p",$tlcfn);
	$tlcfn=str_replace("р","r",$tlcfn);
	$tlcfn=str_replace("с","s",$tlcfn);
	$tlcfn=str_replace("т","t",$tlcfn);
	$tlcfn=str_replace("у","u",$tlcfn);
	$tlcfn=str_replace("ф","f",$tlcfn);
	$tlcfn=str_replace("х","h",$tlcfn);
	$tlcfn=str_replace("ц","c",$tlcfn);
	$tlcfn=str_replace("ч","ch",$tlcfn);
	$tlcfn=str_replace("ш","sh",$tlcfn);
	$tlcfn=str_replace("щ","sch",$tlcfn);
	$tlcfn=str_replace("ъ","",$tlcfn);
	$tlcfn=str_replace("ы","yi",$tlcfn);
	$tlcfn=str_replace("ь","",$tlcfn);
	$tlcfn=str_replace("э","ye",$tlcfn);
	$tlcfn=str_replace("ю","yu",$tlcfn);
	$tlcfn=str_replace("я","ya",$tlcfn);
	while (file_exists($filesdir."/".str_replace(substr($tlcfn,0,strrpos($tlcfn,".")),substr($tlcfn,0,strrpos($tlcfn,".")).$i,$tlcfn))) {
	$i++;
	}
	return str_replace(substr($tlcfn,0,strrpos($tlcfn,".")),substr($tlcfn,0,strrpos($tlcfn,".")).$i,$tlcfn);
}
Функция делает следующее:
1. Перекодирует имена картинок из русских в английские (полезно для глупых секретарш, которым не объяснишь, что русское название картинки и английское имеет большую разницу)

2. Если в папке есть файл с таким именем, то делает его копию.

Синтаксис такой:
copy($file,$filesdir."/".rusConv($file_name));

Старый 06.08.2004, 11:54
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 2  
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Маниакальное количество str_replace....
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 06.08.2004, 12:13
cosmo вне форума Посмотреть профиль Отправить личное сообщение для cosmo Найти все сообщения от cosmo
  № 3  
cosmo

Регистрация: Mar 2001
Адрес: Екатеринбург
Сообщений: 286
Отправить сообщение для cosmo с помощью ICQ
Это плохо или хорошо? Я хотел сделать strtr, но функция работает только с одиночными символами

Старый 06.08.2004, 14:31
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 4  
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Цитата:
Оригинал написал(а) cosmo
Я хотел сделать strtr
Лично я и сейчас вижу в твоем коде strtr.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 06.08.2004, 14:43
styx вне форума Посмотреть профиль Отправить личное сообщение для styx Найти все сообщения от styx
  № 5  
styx

Регистрация: Apr 2003
Сообщений: 243
А что мешает использовать strtr для одиночных, а для оставшихся букв - replace

Старый 06.08.2004, 16:36
juggy вне форума Посмотреть профиль Отправить личное сообщение для juggy Посетить домашнюю страницу juggy Найти все сообщения от juggy
  № 6  
juggy
 
Аватар для juggy

Регистрация: Feb 2001
Адрес: LJ/~aleshru
Сообщений: 4,778
Отправить сообщение для juggy с помощью ICQ Отправить сообщение для juggy с помощью MSN Отправить сообщение для juggy с помощью Yahoo Отправить сообщение для juggy с помощью Skype™
гм. странная функция.

а про strtolwer мы не слышали?

Для транслита могу предложить свою функцию.
PHP код:
function translit($str){
    
$t[а]="a";
    
$t[б]="b";
    
$t[в]="v";
    
$t[г]="g";
    
$t[д]="d";
    
$t[е]="e";
    
$t[ё]="yo";
    
$t[ж]="zh";
    
$t[з]="z";
    
$t[и]="i";
    
$t[й]="j";
    
$t[к]="k";
    
$t[л]="l";
    
$t[м]="m";
    
$t[н]="n";
    
$t[о]="o";
    
$t[п]="p";
    
$t[р]="r";
    
$t[с]="s";
    
$t[т]="t";
    
$t[у]="u";
    
$t[ф]="f";
    
$t[х]="kh";
    
$t[ц]="ts";
    
$t[ч]="tch";
    
$t[ш]="sh";
    
$t[щ]="tsh";
    
$t[ь]="";
    
$t[ы]="y";
    
$t[ъ]="";
    
$t[э]="e";
    
$t[ю]="yu";
    
$t[я]="ya";
    
$t[Ё]="Yo";

    
$new="";
    for (
$i=0$i<strlen($str);$i++) {
        
$ch=$str[$i];
        if(
"А"<=$ch and $ch<="Я"){
            
$ch=chr(ord($ch)+32);
            
$new.=$t[$ch];
        } 
        elseif((
"а"<=$ch and $ch<="я") or $ch=="ё" or $ch=="Ё" ){
            
$new.=$t[$ch];
        }
        elseif(
"A"<=$ch and $ch<="Z"){
            
$new.=chr(ord($ch)+32);
        }
        elseif((
"a"<=$ch and $ch<="z") or ("0"<=$ch and $ch<="9")){
            
$new.=$ch;
        }

    }
    return(
$new);

__________________
Что за дурь? 50 символов в подписи!?

Создать новую тему   Часовой пояс GMT +4, время: 19:11.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 19:11.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.