
28.04.2009, 13:36
|
|
Участник форума
Регистрация: 04.10.2008
Сообщений: 154
С нами:
9264144
Репутация:
7
|
|
Сообщение от Vinsik
как выполнить system("clear.bat"); чтоб небыло видно на странице? А то у мну надпись вверху c:\webserv\echo off
system("clear.bat",$ret); непомогает, ребя помогите 
|
|
|

28.04.2009, 14:23
|
|
Участник форума
Регистрация: 11.12.2005
Сообщений: 160
С нами:
10743646
Репутация:
159
|
|
Сообщение от Vinsik
system("clear.bat",$ret); непомогает, ребя помогите 
попробуй exec("clear.bat"); хотя я не понял почему у меня пхп ругается на третий параметр функции system
|
|
|

28.04.2009, 15:01
|
|
Участник форума
Регистрация: 04.10.2008
Сообщений: 154
С нами:
9264144
Репутация:
7
|
|
Сообщение от NuR
попробуй exec("clear.bat"); хотя я не понял почему у меня пхп ругается на третий параметр функции system
exec("clear.bat"); работает! =) Спс!
|
|
|

28.04.2009, 12:59
|
|
Участник форума
Регистрация: 11.12.2005
Сообщений: 160
С нами:
10743646
Репутация:
159
|
|
system("clear.bat",$ret);
|
|
|

28.04.2009, 13:01
|
|
Участник форума
Регистрация: 04.10.2008
Сообщений: 154
С нами:
9264144
Репутация:
7
|
|
серно вывод есть( C:\webserv\>echo off
|
|
|

28.04.2009, 13:13
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами:
9223466
Репутация:
3171
|
|
Велсипед изрбретаем товарищи.
http://freshcoder.ru/archives/249
|
|
|

28.04.2009, 14:46
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
С нами:
10018169
Репутация:
1680
|
|
У меня к вам следующий вопрос ©
Есть функция замены всех русских символов на английские, а так-же всех спецсимволов на _
Код:
function transliteral($text=null){
$maska=array('Ч'=>'Ch','Ш'=>'Sh','Щ'=>'Sch','Ю'=>'Yu'
,'ш'=>'sh','щ'=>'sch','ю'=>'yu','я'=>'ya'
,'А'=>'A','Б'=>'B','В'=>'V','Г'=>'G'
,'Д'=>'D','Е'=>'E','Ё'=>'E','Ж'=>'J'
,'З'=>'Z','И'=>'I','Й'=>'Y','К'=>'K'
,'Л'=>'L','М'=>'M','Н'=>'N','О'=>'O'
,'П'=>'P','Р'=>'R','С'=>'S','Т'=>'T'
,'У'=>'U','Ф'=>'F','Х'=>'H','Ц'=>'C'
,'Ъ'=>'"','Ы'=>'Y','Ь'=>'b','Э'=>'E'
,'а'=>'a','б'=>'b','в'=>'v','г'=>'g'
,'д'=>'d','е'=>'e','ё'=>'e','ж'=>'j'
,'з'=>'z','и'=>'i','й'=>'y','к'=>'k'
,'л'=>'l','м'=>'m','н'=>'n','о'=>'o'
,'п'=>'p','р'=>'r','с'=>'s','т'=>'t'
,'у'=>'u','ф'=>'f','х'=>'h','ц'=>'c'
,'ь'=>'b','ы'=>'y','ъ'=>'"','э'=>'e'
,'Я'=>'Ya','ч'=>'ch' ,' '=>'_','@'=>'_'
,'#'=>'_',','=>'_','{'=>'_','}'=>'_'
,'['=>'_',']'=>'_');
return !empty($text) ? strtr($text,$maska) : null;
}
Она работает хорошо если работать с текстом напрямую, но при заливке файлов криво заменяет имена файлов.
Вот например простой текст:
Код:
$lol = "Текстовый документ (2).txt";
echo transliteral($lol);
Выводит: Tekstovyy_dokument_(2).txt
Но если воспользоваться вот так:
Код:
$uploadfile = basename($_FILES['userfile']['name']);
move_uploaded_file($_FILES['userfile']['tmp_name'], transliteral($uploadfile))
То файлы криво называются, например тот-же "Текстовый документ (2).txt" отображается потом как: "_dokument_(2).txt"
Поясните почему так происходит, и как это исправить.
|
|
|

29.04.2009, 13:45
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами:
9223466
Репутация:
3171
|
|
Сообщение от Nightmarе
У меня к вам следующий вопрос ©
Есть функция замены всех русских символов на английские, а так-же всех спецсимволов на _
Код:
function transliteral($text=null){
$maska=array('Ч'=>'Ch','Ш'=>'Sh','Щ'=>'Sch','Ю'=>'Yu'
,'ш'=>'sh','щ'=>'sch','ю'=>'yu','я'=>'ya'
,'А'=>'A','Б'=>'B','В'=>'V','Г'=>'G'
,'Д'=>'D','Е'=>'E','Ё'=>'E','Ж'=>'J'
,'З'=>'Z','И'=>'I','Й'=>'Y','К'=>'K'
,'Л'=>'L','М'=>'M','Н'=>'N','О'=>'O'
,'П'=>'P','Р'=>'R','С'=>'S','Т'=>'T'
,'У'=>'U','Ф'=>'F','Х'=>'H','Ц'=>'C'
,'Ъ'=>'"','Ы'=>'Y','Ь'=>'b','Э'=>'E'
,'а'=>'a','б'=>'b','в'=>'v','г'=>'g'
,'д'=>'d','е'=>'e','ё'=>'e','ж'=>'j'
,'з'=>'z','и'=>'i','й'=>'y','к'=>'k'
,'л'=>'l','м'=>'m','н'=>'n','о'=>'o'
,'п'=>'p','р'=>'r','с'=>'s','т'=>'t'
,'у'=>'u','ф'=>'f','х'=>'h','ц'=>'c'
,'ь'=>'b','ы'=>'y','ъ'=>'"','э'=>'e'
,'Я'=>'Ya','ч'=>'ch' ,' '=>'_','@'=>'_'
,'#'=>'_',','=>'_','{'=>'_','}'=>'_'
,'['=>'_',']'=>'_');
return !empty($text) ? strtr($text,$maska) : null;
}
Она работает хорошо если работать с текстом напрямую, но при заливке файлов криво заменяет имена файлов.
Вот например простой текст:
Код:
$lol = "Текстовый документ (2).txt";
echo transliteral($lol);
Выводит: Tekstovyy_dokument_(2).txt
Но если воспользоваться вот так:
Код:
$uploadfile = basename($_FILES['userfile']['name']);
move_uploaded_file($_FILES['userfile']['tmp_name'], transliteral($uploadfile))
То файлы криво называются, например тот-же "Текстовый документ (2).txt" отображается потом как: "_dokument_(2).txt"
Поясните почему так происходит, и как это исправить.
Если ктото сталкнетьсяя с такой проблеой,то вся проблема была в basename($_FILES['userfile']['name']);
Без basename все прекрасно работает,ведь в $_FILES['userfile']['name'] находиться название,без пути,так что вот в чем были траблы.
|
|
|

28.04.2009, 15:02
|
|
Познающий
Регистрация: 03.03.2009
Сообщений: 86
С нами:
9047791
Репутация:
258
|
|
2Nightmarе
Попробуйте по другому определять имя файла,не использую basename,незнаю,но возможно идет кодировкание в hex и обратно,чисто по логике
|
|
|

28.04.2009, 15:08
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
С нами:
10018169
Репутация:
1680
|
|
Сообщение от erihtoney
2Nightmarе
Попробуйте по другому определять имя файла,не использую basename,незнаю,но возможно идет кодировкание в hex и обратно,чисто по логике
Тогда там будет вообще полный путь до файла.
не думаю что это поможет.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|