搜索文件时,Php strpos无法正常工作

时间:2011-07-19 18:57:31

标签: php

我有一个php文件,它将搜索我服务器上的所有文件,查找包含字符串的任何文件。如果我在strpos()中硬编码搜索词,它可以正常工作。但如果我尝试使用$ string它将无法正常工作

works:
$file = file_get_contents($dir);
if(strpos($file,  'find me')) 

does not work:
$findme='find me';
$file = file_get_contents($dir);
if(strpos($file,  $findme)) 

任何想法?

编辑:if(strpos($ file,'find me')!== false)无效。

解决:发现我必须在抽动 if(strpos($ file,'$ findme'))

3 个答案:

答案 0 :(得分:3)

你应该测试if(strpos($file, 'find me') !== false),因为如果文件以“找我”开头,strpos($file, 'find me')可能为0

答案 1 :(得分:1)

好吧,第一件事就是你错误地使用了strpos;您需要执行if(strpos($file, 'find me') !== false)if(strpos($file, $findme) !== false)

答案 2 :(得分:0)

warning in the docs提到你应该寻找一个明确的false,而不仅仅是将函数放在一个条件中。由于strpos可能会返回0""(两者都评估为false),因此条件本身可能会失败。

请尝试以下方法:

if(strpos($file,$findme) !== false)

此外,如果你说你已经尝试过并且它仍然失败,请尝试运行var_dump($file)以确保干草堆确实包含可以搜索的信息。