php 给定 $q 搜索查询的 scandir
php scandir for given $q search query
我在 /mydir/ 目录中有搜索值,如“搜索值”(定义为 $q)和名为“搜索 value.txt”的 .txt 文件。我如何通过 scandir /mydir/ 获取搜索值 ($q) 并将找到的带有 php include 命令的 .txt 文件放入页面?或者是将 $q 值放入 php file_get_contents php 代码中的更好方法(我的意思是将它们放在一起,就像一个 txt 文件名,如 (q$.txt - searchvalue.txt 以某种方式)并将 .txt 文件的内容拉入页面?如果是,如何?提前致谢。
假设你有这样的目录结构:
mydir
--file1.tx
--file2.tx
index.php
index.php
$filepath = glob("mydir/*.txt");//read all txt files in data directory
//print_r($filepath);//debug purpose
$search = 'file1';
// Browse all files and search the $search string in filenames
foreach ($filepath as $filename) {
// Give us file name only without the extension
$fileNameOnly = basename($filename, '.txt');
// Check if a file name only contains exactly our keyword $search
$isExactMatch = preg_match("/\b".$search."\b/iu", $fileNameOnly);
if ( $isExactMatch ) {
// Include the .txt file as result
require $filename;
}
}
经过测试,确实有效。
我在 /mydir/ 目录中有搜索值,如“搜索值”(定义为 $q)和名为“搜索 value.txt”的 .txt 文件。我如何通过 scandir /mydir/ 获取搜索值 ($q) 并将找到的带有 php include 命令的 .txt 文件放入页面?或者是将 $q 值放入 php file_get_contents php 代码中的更好方法(我的意思是将它们放在一起,就像一个 txt 文件名,如 (q$.txt - searchvalue.txt 以某种方式)并将 .txt 文件的内容拉入页面?如果是,如何?提前致谢。
假设你有这样的目录结构:
mydir
--file1.tx
--file2.tx
index.php
index.php
$filepath = glob("mydir/*.txt");//read all txt files in data directory
//print_r($filepath);//debug purpose
$search = 'file1';
// Browse all files and search the $search string in filenames
foreach ($filepath as $filename) {
// Give us file name only without the extension
$fileNameOnly = basename($filename, '.txt');
// Check if a file name only contains exactly our keyword $search
$isExactMatch = preg_match("/\b".$search."\b/iu", $fileNameOnly);
if ( $isExactMatch ) {
// Include the .txt file as result
require $filename;
}
}
经过测试,确实有效。