使用PHP如何读取多个TEXT文件并显示文件名?
我有一个PHP代码,可以读取文本文件并允许用户完美地搜索单词及其作品。使用PHP如何读取多个TEXT文件并显示文件名?
文件内容是阿拉伯语
当用户进行搜索,系统会显示与它存在的行号申请的字符串。
我现在想要的是让系统读取多个文本文件,当用户请求一个单词时,系统将显示他找到用户请求的文件的名称。
这是可能的,如果我有100个文件,这个过程需要多长时间?
代码:
<?php $myFile = "arabic text.txt";
$myFileLink = fopen($myFile, 'r');
$line = 1;
if(isset($_POST["search"]))
{
$search =$_POST['name'];
while(!feof($myFileLink))
{
$myFileContents = fgets($myFileLink);
if(preg_match_all('/('.preg_quote($search,'/').')/i', $myFileContents, $matches))
{
foreach($matches[1] as $match)
{
echo "Found $match on Line $line";
}
}
++$line;
}
}
fclose($myFileLink);
//echo $myFileContents;
?>
<html>
<head>
</head>
<meta http-equiv="Content-Language" content="ar-sa">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<body>
<form action="index.php" method="post">
<p>enter your string <input type ="text" id = "idName" name="name" /></p>
<p><input type ="Submit" name ="search" value= "Search" /></p>
</form>
</body>
</html>
回答:
所以,你必须把你目前的工作代码放到一个函数,用函数返回你想要的内容。
function readFile($fileName) {
// ...your code
return $yourMessage;
}
$fileNames = array("file1.txt", "file2.txt");
$result = array();
foreach($fileNames as $name)
{
$message = readFile($name);
$result[$name] = $message;
}
您现在可以遍历$ result并以您自己想要的方式打印它。
回答:
要将所有文件放入一个数组中,您可以使用scandir('/ mydir /')。
$files = scandir('/mydir/here/'); foreach($files as $file) {
if (strpos($file, '.txt')) {
//dosomething
}
}
以上是 使用PHP如何读取多个TEXT文件并显示文件名? 的全部内容, 来源链接: utcz.com/qa/265132.html