다음 preg_match() 코드를 변경하여 어떻게 '.'대신 index.html 파일을 차단할 수 있습니까? , '..'또는 '.htaccess'?preg_match를 올바르게 사용 하시겠습니까?
preg_match('/^\.(htaccess|\.)?/',$file)
다음 preg_match() 코드를 변경하여 어떻게 '.'대신 index.html 파일을 차단할 수 있습니까? , '..'또는 '.htaccess'?preg_match를 올바르게 사용 하시겠습니까?
preg_match('/^\.(htaccess|\.)?/',$file)
이 그러나 정규 표현식
in_array($file, array('.', '..', '.htaccess', 'index.html'))
여기에 같은 것이 그 연장 :
를 더 읽기 쉽게 필요하지 않습니다 그것을
preg_match('/^(\.(htaccess|\.)?|index\.html)/',$file)
을 수행해야합니다 :
preg_match('/^(\.(htaccess|\.)?)|(index\.html)/',$file)
참고로 괄호는 단지 명료 함을 나타냅니다.
실제로 preg_match('/^\.(htaccess|\.)?/',$file)
은 (?
때문에) .
으로 시작하는 다른 파일도 차단합니다. 따라서 KingCrunch의 두 번째 솔루션은 동일하지 않으며 위험 할 수 있습니다! 당신이 index.html
(도 .htaccess
및 ..
포함 정도) 점으로 시작하는 모든 파일과 일치 할 때
그래서 당신은 사용할 수 있습니다
preg_match('/^(\.|index\.html)/',$file)
감사합니다, 그것을 감사 – Jason