使用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

回到顶部