php图像搜索系统的问题


Issue with php image search system

我制作了一个图像搜索系统。每个图像的名称如下tag1_tag2_tag3_tag4.jpg搜索tag1不起作用,但搜索所有其他图像都起作用。这是strpos的问题还是我遗漏了什么?

代码:

                $images = glob($filedir."*.{jpg,JPG,png,PNG,gif,GIF}",GLOB_BRACE);
                if (empty($images))
                {
                    echo '<p>Something went wrong with the image retrieval!</p>';
                }
                else
                {
                    foreach($images as $image)
                    {
                        $filename = pathinfo($image, PATHINFO_FILENAME);
                        $filename = str_replace("_","",$filename);
                        if (strpos($filename, $query))
                        {
                            echo '<a href="'.$image.'"><img src="'.getThumb($image).'"/></a>';
                        }
                    }

strpos()返回位置。如果它在第零个位置找到它,那么它返回零。但是您将其用作布尔值,并且零为false。

相反,与!==:进行比较

if (strpos($filename, $query) !== false)