PHP搜索字段-通过文件搜索字符串
我正在尝试搜索目录(上载)以查找与搜索表单匹配的文件名 我在我的网站的搜索栏中输入单词“Bach”。然后,我希望我的脚本搜索目录中的所有文件,并显示包含单词“bach”的所有文件 这是我提出的代码,我希望它能起作用。我看不到任何视觉错误,不知道您是否可以帮助我 目前,我没有从搜索中得到任何结果PHP搜索字段-通过文件搜索字符串,php,search,search-engine,Php,Search,Search Engine,我正在尝试搜索目录(上载)以查找与搜索表单匹配的文件名 我在我的网站的搜索栏中输入单词“Bach”。然后,我希望我的脚本搜索目录中的所有文件,并显示包含单词“bach”的所有文件 这是我提出的代码,我希望它能起作用。我看不到任何视觉错误,不知道您是否可以帮助我 目前,我没有从搜索中得到任何结果 if(isset($searchvalue)) { $dir = opendir('upload/'); while ($read = readdir($dir)) {
if(isset($searchvalue))
{
$dir = opendir('upload/');
while ($read = readdir($dir))
{
if ($read!='.' && $read!='..')
{
if (stristr($searchvalue,$read)) //case insensitive
{
echo '<p><a href="upload/'.$read.'">'.$read.'</a></p>';
}
}
}
closedir($dir);
}
if(isset($searchvalue))
{
$dir=opendir('upload/');
而($read=readdir($dir))
{
如果($read!='.&&$read!='..'))
{
if(stristr($searchvalue,$read))//不区分大小写
{
回声“”;
}
}
}
closedir($dir);
}
您不应该在stristr调用中引用参数
试试这个:
if (stristr($searchvalue,$read))
if(isset($searchvalue)){
$dir=opendir('upload/');
而($read=readdir($dir)){
如果($read!='.&&$read!='..')){
if(stristr($read,$searchvalue))//不区分大小写
{
回声“”;
}
}
}
closedir($dir);
}
修复方法:删除引号并在
stristr()
中旋转参数。您正在搜索输入中搜索文件名。但是您必须在文件名中搜索搜索输入。否则,当您输入“something”=>时,检查“something.txt”是否在“something”中,计算结果为FALSE
您没有提到它有什么问题。错误?什么是你不想发生的?对不起,我已经编辑了我的问题。基本上,这与结果不符。也就是说,当它尝试搜索文件时没有结果。还有提供模式匹配的。尝试删除引号,不幸的是仍然无效。太棒了!!!这就是解决办法。非常感谢你!
if (isset($searchvalue)) {
$dir = opendir('upload/');
while ($read = readdir($dir)) {
if ($read != '.' && $read != '..') {
if (stristr($read, $searchvalue)) //case insensitive
{
echo '<p><a href="upload/' . $read . '">' . $read . '</a></p>';
}
}
}
closedir($dir);
}