Было бы хорошо, если кто-то мог бы дать мне regexp шаблон для шарика для получения ниже имен файлов:
1.jpg // this file
1_thumb.jpg
2.png // this file
2_thumb.png
etc...
возврат файлов без "_thumb". У меня есть этот шаблон:
$numericalFiles = glob("$this->path/*_thumb.*");
и это дает мне все с "_thumb".
GLAC ()
Не самая большая в обработке ситуаций, когда у вас есть сложные требования к соответствующим файлам, так как вы четко заметили. Я бы порекомендовал использовать библиотеку PHP SPL и используя преимущества каталога класса .
$iterator = new DirectoryIterator("/dir/path");
foreach ($iterator as $file) {
if ($file->isFile() && preg_match("/^[0-9]+\./i",$file->getFilename())) {
echo $file->getFilename();
}
}
Вы можете чисто изменять свои критерии во время итерации (также легко изменить итератор, если вы когда-либо необходимы рекурсивная итерация каталога ).
foreach (glob('[0-9]*') as $filename) {
if (strpos("$filename","_thumb") === FALSE){
echo "$filename \n";
}
}
$form->addElement('select','foo',
array(
'label' => 'ComboBox (select)',
'value' => 'blue',
'multiOptions' => array(
'red' => 'Rouge',
'blue' => 'Bleu',
'white' => 'Blanc',
),
)
);
Как указано выше, можно использовать «value» = > «blue» для выбора «blue» = > «Bleu».
Надеюсь, это вам поможет..
-121--2169943-Я вижу, что этот вопрос уже имеет ответ, и я не пробовал NBehave. Но мы используем MSpec (Machine.Specifications) для этого довольно крупного проекта Enterprise, и он работает для нас очень хорошо. Очень хорошо стоит упомянуть.
Роб Конери сделал ОТЛИЧНЫЙ видеоролик об обучении BDD, где он использует MSpec, последовательно: (ссылка удалена, больше не доступна, но ищите ее)
Подробнее о MSpec от Роба Конери, и почему он ее использует.
http://wekeroad.com/2009/09/21/make-bdd-your-bff-2/ Вы также можете проверить его другие сообщения, помеченные BDD.
Достоинства:
Недостатки:
Надежда, что помогает.
-121--3780297- узоры и регулярные выражения отличаются. Но реализация PHP не реализует отрицание образца, необходимое для сопоставления только этих файлов. Необходимо использовать большой положительный образец, например [0-9] * .jpg
, а затем фильтровать результаты.
Дальше к Использование Zombat Справедливого Утешения Справочника, возможно, имеет смысл построить свой собственный специализированный класс фильтра, чтобы облегчить жизнь (см. Разницу с помощью Foreach
) и более многоразовым Отказ
class DirectoryFilterThumbs extends FilterIterator {
public function __construct($path) {
parent::__construct(new DirectoryIterator($path));
}
public function accept() {
// Use regex or whatever you like here
return ($this->isFile() && strpos($this->getFilename(), "_thumb.") === FALSE);
}
}
$files = new DirectoryFilterThumbs("/dir/path");
foreach ($files as $file) {
echo $file->getFilename() . PHP_EOL;
}
Конечно, если нет необходимости делать это в нескольких местах, то простые каталоги утром / условие Combo, заданное Zombat, идеально подходит.