ファイルパスの文字列をpreg_matchした時の話。
状況
$dirNameをpreg_matchってみるとWarningが発生。if ( preg_match("/{$dirName}\.bak(.*)$/", $dn, $suf) ) {
// foo, bar
}
ファイルパスの文字列をpreg_matchした時の話。
$dirNameをpreg_matchってみるとWarningが発生。if ( preg_match("/{$dirName}\.bak(.*)$/", $dn, $suf) ) {
// foo, bar
}
/は、\/とエスケープする必要がある。
(事前にエスケープできる場合はしておく方がよいと思う) preg_quoteのデリミタに/を指定しておく。$dirName = preg_quote($dirName, "/");
これでエスケープされるのでpreg_matchが通るようになる。