Как написать шаблон регулярного выражения PCRE в Amazon s3 SDK для PHP в методе get_object_list - PullRequest
3 голосов
/ 11 марта 2012

Я использую Amazon S3 SDK для PHP и пытаюсь написать регулярное выражение для поиска подкаталога в динамическом пути.Я понимаю, что Amazon S3 не имеет «подкаталогов», как обычная файловая система, но, насколько я понимаю, метод get_object_list позволяет использовать параметр pcre для поиска строки в объекте на S3.Используя опцию pcre, я надеюсь, что смогу найти подкаталог в пути.

Например.

$find_directory = "foo";
$reg_ex = "/([a-zA-Z0-9_]*)/";

$response = $s3->get_object_list(MY_BUCKET, array(
        'pcre' => some/path/" . $reg_ex . "/" . $find_directory . "/",
        'max-keys' => 1
));

if ( (count($response)) > 0){echo "yes it exists";}else{echo "no it does not exist";}

Я ожидаю, что он найдет любой путь к каталогу, который имеет:

some/path/(any directory with letters, numbers, or underscores)/foo

Но это регулярное выражение не работает, или способ форматирования pcre неверен.

Я получаю предупреждение:

preg_match () [function.preg-match]: Разделитель не должен быть буквенно-цифровым или обратным слешем в sdk-1.5.2 / utilities / array.class.php в строке 114

Как правильно написать это регулярное выражение в pcre?

1 Ответ

2 голосов
/ 11 марта 2012

Вам не хватает открывающей двойной кавычки в some/path".

Вы также должны использовать разделитель, который не найден в результате.Измените / на # или что-то еще.Надеюсь, это поможет, у меня нет других идей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...