2009-08-29 2 views
1

에 대한 파일 이름을 검색 한 후 난 다음 false를 반환하면 해당 문자열에서 PHP를 발견하면 검색 할내가이 문자열과 같은 예를 들어 파일 이름을 검색 할 수 wan't PHP

$filetype = "file.php.jpg"; 

그리고;

이제 파일 이름의 이름이 php-logo.jpg 인 경우 거부하고 싶지 않습니다. 어쩌면 우리는 .php를 찾는 것을 고려해야합니다. 문자열에?

+0

피트, 설명 할 수 있습니까 ** ** 문자열에서 'php'문자열을 찾고 싶습니까? 어쩌면 더 좋은 방법이 있을지도 모릅니다. 감사. – alex

+0

지금 내 게시물이 바뀌 었습니다. –

+0

염두에 두십시오 : 1) 하나 실제로 이미지를 만들 수 있습니다 (예 : 롤 이미지 또는 "귀하의 IP는"당신과 같은 정보) 2) 그것은 역 겹네 수 있습니다 PHP는 온라인 스크립트를 사용할 수 있습니다 3) 하나는 이미지를 생성하는 PHP를 사용 또한 jpg 확장자를 제공하는 mod_rewrite를 사용할 수 나는 이미지 너비와 MIME 유형을 확인하는 데 사용됩니다. – Aif

답변

1

왜 그렇게 복잡합니까? :)

$file = 'some.php.file'; 
    if (false !== strpos($file,'.php')) { 
     // file contains .php 
     return false; 
    } 
    else { 
     // file not php 
    } 
1

반환 값을 다시 고려할 수도 있습니다. PHP가있는 경우 false를 반환하는 대신, 그렇다면 true를 반환하는 것이 좋습니다. 이건 어때?

function containsPhp($string) { 

    return strstr($string, 'php'); 

} 

는 그런 다음, '. .PHP'당신이 확실히 알고있는 경우

은 항상로 나타납니다이

$filetype = "file.php.jpg"; 

// does it contain php in it? 

var_dump(containsPhp($filetype)); 

UPDATE를 할 수 단순히의 두 번째 인수를 변경 strstr() 함수.

파일 확장명을 원할 경우 다음 기능을 고려하십시오.

function getFileExtension($filePath) { 

    $filename = basedir($filePath); // this may not be required. 

    return pathinfo($filename, PATHINFO_EXTENSION); 
} 

}

+0

그래, 고마워,이 게시물은 도움이되었다! –

+0

@ Pete 도움을 주셔서 감사합니다 :) – alex

0
$filetype = "file.php.jpg"; 
if (substr_count($filetype, 'php') > 0){ 

} else { 
    return false; 
} 

substr_count

만 확장을 확인하려면 다음

function get_file_extension($file_name) 
{ 
    return substr(strrchr($file_name,'.'),1); 
} 
if ('php' == get_file_extension($filetype)) { 

} else { 
    return false; 
} 
+0

첫 번째 예제는, 만약 내가 PHP 앞에서 점이 그 일을하겠습니까? –

0

무엇 하나는 PHP-logo.png을 전송하면?

+0

좋은 지적 - OP가 이것을 통합하기 위해 다른 솔루션 중 하나를 수정할 수 있기를 바랍니다. – alex

+0

아, 그래, 그건 상당히 질문입니다! 그렇다면 아래 예들에 의해 거부 될 것입니다. 흠 .. –

+0

질문 : "그 문자열에서 PHP를 찾으면 검색" – erenon