Искать имя файла для php - PullRequest
1 голос
/ 29 августа 2009

Я не хочу искать имя файла, например, такую ​​строку:

$filetype = "file.php.jpg";

А затем я хочу найти, находит ли php в этой строке, а затем вернуть false;

Теперь, если имя файла называется php-logo.jpg, я не хочу, чтобы оно было отклонено. Может быть, мы должны рассмотреть поиск .php. в строке?

Ответы [ 4 ]

1 голос
/ 29 августа 2009

Почему ты так усложняешь это? :)

    $file = 'some.php.file';
    if (false !== strpos($file,'.php')) {
       // file contains .php
       return false;
    }
    else {
      // file not php
    }
1 голос
/ 29 августа 2009

Возможно, вы захотите пересмотреть возвращаемое значение. Вместо возврата false, если у него есть PHP, почему бы не вернуть true, если он есть? Как насчет этого?

function containsPhp($string) {

    return strstr($string, 'php');

}

Тогда вы могли бы сделать это

$filetype = "file.php.jpg";

// does it contain php in it?

var_dump(containsPhp($filetype));

UPDATE

Если вы точно знаете, что он всегда будет отображаться как «.php.», Просто измените второй аргумент функции strstr ().

Если вы хотите расширение файла, рассмотрите следующую функцию.

function getFileExtension($filePath) {

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

    return pathinfo($filename, PATHINFO_EXTENSION);
}

}

0 голосов
/ 29 августа 2009

Что если отправить php-logo.png?

0 голосов
/ 29 августа 2009
$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;
}
...