2012-02-21 3 views
0

url이 "http://i.imgur.com/vLsht.jpg"와 같은 이미지로 연결되는지 테스트하려고 시도했습니다 문자열이 ".gif 중요" ".JPG"또는 ".PNG"또는 포함되어 있는지 테스트하여 등문자열에 PHP의 다른 문자열 집합이 있는지 확인

내 curent 코드는 다음과 같습니다

if (stripos($row_rsjustpost['link'], ".png") !== false) { 
//do stuff 
} 

내가 좋아하는 뭔가를하고 싶은

if (stripos($row_rsjustpost['link'], ".png" || ".jpg" || ".gif") !== false) { 
//do stuff 
} 
+0

파일 확장자는 파일이 "이미지"인지 여부를 정확하게 나타내지 않습니다. 당신은 당신의 방법에 의지하고 싶습니까? –

답변

1

012를 통해 정규 표현식을 사용해도됩니다.:

$matches = array(); 
if (preg_match('/\.(png|jpg|gif)/i', $row_rsjustpost['link'], $matches) { 
    // Contains one or more of them... 
} 

// $matches holds the matched extension if one was found. 
print_r($matches); 

참고 : 문자열은 파일 확장자와 같은 말에 발생해야하는 경우, $로 종료 :

/\.(png|jpg|gif)$/i 
//-------------^^ 

당신이 하나의 문자열을 찾기 위해 시도했던 경우가 더 될 것 stripos()을 사용하기에 적절하지만 긴 if/else 체인을 기침하지 않고도 여러 패턴을 정규식과 일치시킬 수 있습니다. 나는 정규 표현식을 사용하지 않은 경우

+0

덕분에 그 덕분에. – Aaronrobeson

0

, 여기에 내가 그것을 할 거라고 방법은 다음과 같습니다

마지막 4 자에게 (파일 확장자) 그것은 일치하는 경우

$filepath = $row_rsjustpost['link']; 
$extension = substr($filepath, length($filepath) - 4); 

은 다음을 참조하세요 패턴 :

if (in_array($extension, array(".png", ".jpg", ".gif"))) { 
    // Have a party! 
} 
관련 문제