Именно! Я ищу ФМ не для админа, а для юзера! Он - часть интерфейса системы и его основная функция:
1) нажал на browse
2) всплыло окно
3) нашел в нем файл - двойной клик по файлу
4) адрес забился в поле
все!
Если нет файла - возможность загрузки. Если файл не нужен - удалить.
Это все что мне надо реализовать. И это должно быть красиво обернуто в обложечку и вмонтировано в интерфейс системы=)
А для управления файлами на сервере - FileZilla
В нем есть все то, что я описал выше.
Что ты знаешь круче чем этот "отстой" ?
Что подойдет лучше для выбора файла в поле?---------- Добавлено 05.04.2012 в 21:00 ----------
и зачем в файловом менеджере командная строка? а тем более управление чмодом. Обычно чмод выставляется один раз на все файлы и забывается. Рядовому менеджеру магазина который только забивает товары в БД все то, что ты описал тем более не нужно. Этот менеджер рассчитан на юзеров, а не на админов. Интерфейс там максимально приближен в обычной папке - это большой плюс для юзера. Даже горячие клавиши есть...
Нашел замечательную вещицу.
http://elfinder.org/ - v2.0-beta
http://elrte.org/elfinder - v1.2
Активно развивающийся проект с богатым функционалом даже в версии 1.2
Скачал, ковырнул - советую!
мне ckfinder нравится... но может есть что-то новое и функциональнее?
Ах! Прошу прощения=) я не заметил. Да, вы правы. Все работает=)
Еще раз спасибо за вариант решения.
Я результат вижу. покажите скрипт который смогу скопировать и протестировать. покажите фразу на которой вы тестировали, функцию... в общем прошу выложить полностью готовый пример с вашим выражением. Так как у меня ваш пример не работает.
$a=array("от 5-ти до 18-ти товаров","от 5-ти до 18","от 5-ти выше","5-ти выше","5-18"); foreach($a as $b){ preg_match("/(\d+)[^0-9]+(\d+)?/",$b,$m); if (!isset($m[2])){ $m[2]=""; } echo $b." --- ".$m[1]."+".$m[2]."<br>"; }
от 5-ти до 18-ти товаров --- 5+18 от 5-ти до 18 --- 5+18 от 5-ти выше --- 5+ 5-ти выше --- 5+ 5-18 --- 5+18
Я вставил ваш вариант в скрипт sabotage. В цикле подаются разные фразы...
Вы проверяли ваш вариант в работоспособности или вы не проверяя утверждаете что он работает?
Если можно, выложите код вашей проверки вместе с фразой.
$arr = array( 'от 5-ти до 18-ти товаров', 'от 5-ти до 18', 'от 5-ти выше', '5-ти выше', '5-18', ); foreach ($arr as $str) { $ptrn = '~([0-9]+)([^0-9]*)([0-9]*)~iu'; if (preg_match($ptrn, $str, $out)){ echo "{$out[1]} {$out[3]}<br />\n"; } else echo "мимо<br />\n"; }
Отлично работает. Спасибо!---------- Добавлено 04.04.2012 в 15:44 ----------
вот что говорит скрипт на ваше выражение
Но, благодарю за попытку=)
Ув. DiAksID, я понимаю, что ваш авторитет здесь гораздо выше моего. Но, все таки, это не дает вам право вести себя по хамски с участниками форума.
Я не первый день программирую и использую данные функции. Поэтому я в курсе что они возвращают. Мой вопрос был связан не с синтаксисом функции, а с составлением регулярного выражения "/(.*)([0-9]*)(.*)/" - вот такого текста.
preg_match("/(.*)([0-9]*)(.*)/", "от 5-ти до 18-ти товаров", $matches);
print_r($matches);
Прошу не оффтопить.
Если я выбрал не самый правильный способ - покажите как правильно.---------- Добавлено 04.04.2012 в 09:24 ----------"/([\s\d][\d+][\s\d]*)/" - вот так выдает Array ( [0] => 5 [1] => 5 )
"/([\s\d][\d+][\s\d])/" - вот так выдает Array ( [0] => 18 [1] => 18 )
Как склеить что бы в массиве было
Array ( [0] => 5 [1] => 18 ) ?
...а если почитать еще дальше, то можно узнать, что функция может возвращать еще и массив найденых вложений (что я и планирую использовать).
Если у кого-то есть другие решения - готов выслушать.
Вырезать все лишнее preg_replace - не вариант, так как останется у меня 518 и куда я его дену? мне нужно две цифры 5 и 18, отдельно.