【问题标题】:Search a filename for php在文件名中搜索 php
【发布时间】:2009-08-29 10:31:22
【问题描述】:

我不想像这样的字符串搜索文件名:

$filetype = "file.php.jpg";

然后我想搜索它是否在该字符串中找到php,然后返回false;

现在,如果一个文件名为 php-logo.jpg,我不希望它被拒绝。也许我们应该考虑搜索.php。在字符串中?

【问题讨论】:

  • Pete,你能解释一下为什么你想在字符串中找到字符串'php'吗?也许有更好的方法。谢谢。
  • 我现在更改了我的帖子,希望它现在解释得更好!
  • 请记住:1) 可以使用 php 在线脚本来实际创建图像(例如滚动图像,或诸如您知道“您的 ip 是”之类的信息)2) 它可以是讨厌 3) 使用php生成图像的也可以使用mod_rewrite 给一个jpg扩展名,我用来检查图像宽度和mime-type。

标签: php string search


【解决方案1】:

你为什么把它弄得这么复杂? :)

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

【讨论】:

    【解决方案2】:

    您可能需要重新考虑返回值。如果它有 PHP,而不是返回 false,如果有,为什么不返回 true?这个呢?

    function containsPhp($string) {
    
        return strstr($string, 'php');
    
    }
    

    那么你可以这样做

    $filetype = "file.php.jpg";
    
    // does it contain php in it?
    
    var_dump(containsPhp($filetype));
    

    更新

    如果您确定它会始终显示为 '.php.',那么只需更改 strstr() 函数的第二个参数。

    如果您想要文件扩展名,请考虑以下函数。

    function getFileExtension($filePath) {
    
        $filename = basedir($filePath); // this may not be required.
    
        return pathinfo($filename, PATHINFO_EXTENSION);
    }
    

    }

    【讨论】:

      【解决方案3】:

      如果发送 php-logo.png 会怎样?

      【讨论】:

      • 好点 - 希望 OP 可以修改其他解决方案之一来合并它。
      • 啊,是的,这是一个相当大的问题!那么下面的例子就会否定它。嗯..
      • 问题是:“搜索是否在该字符串中找到 php”
      【解决方案4】:
      $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;
      }
      

      【讨论】:

      • 你的第一个例子,如果我在 php 前面加一个点,那行得通吗?
      猜你喜欢
      • 1970-01-01
      • 2019-08-27
      • 1970-01-01
      • 2017-06-11
      • 2010-12-21
      • 2011-04-16
      • 2018-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多