Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

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

28.04.2009, 14:46
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
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"
Поясните почему так происходит, и как это исправить.
|
|
|

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

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

28.04.2009, 15:06
|
|
Постоянный
Регистрация: 07.03.2008
Сообщений: 479
Провел на форуме: 791766
Репутация:
61
|
|
Как достать из каталога имена файлов?
|
|
|

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

28.04.2009, 15:10
|
|
Познающий
Регистрация: 03.03.2009
Сообщений: 86
Провел на форуме: 994199
Репутация:
258
|
|
2Byrger
PHP код:
<?php
$path = "/path/other/file.txt";
echo basename($path );
// выводит "file.txt"
echo basename($path, '.txt');
// выводит "file"
?>
|
|
|

28.04.2009, 15:52
|
|
Постоянный
Регистрация: 07.03.2008
Сообщений: 479
Провел на форуме: 791766
Репутация:
61
|
|
Сообщение от erihtoney
2Byrger
PHP код:
<?php
$path = "/path/other/file.txt";
echo basename($path );
// выводит "file.txt"
echo basename($path, '.txt');
// выводит "file"
?>
Имена!
тоесть нужен цикл который будет просмотривать каталог и выводить имена файлов...
|
|
|

28.04.2009, 16:20
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
2Byrger
PHP код:
<?php
$dir = "/tmp/";
// Открыть заведомо существующий каталог и начать считывать его содержимое
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
print "Файл: $file : тип: " . filetype($dir . $file) . "<br>";
}
closedir($dh);
}
}
|
|
|

28.04.2009, 16:30
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Сообщение от Nightmarе
Тогда там будет вообще полный путь до файла.
не думаю что это поможет.
Также столкнулся с этим.Свзяано,как я понял,с тем,что символы заменяються по 2 раза.Тоесть прошел один круг,и пошел на второй,вот первые символы и меняються по нескольку раз.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|