首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用php读取多个文本文件并显示文件名?

如何使用php读取多个文本文件并显示文件名?
EN

Stack Overflow用户
提问于 2017-12-27 12:44:00
回答 2查看 1.3K关注 0票数 0

我有一个PHP代码,它可以读取文本文件,并允许用户搜索一个单词及其完美的工作。

文件内容是阿拉伯语

当用户进行搜索时,系统将用行号显示请求的字符串。

我现在想要的是让系统读取多个文本文件,当用户请求一个单词时,系统将显示他找到用户请求的文件名。

如果我有100个文件,这是可能的吗?这个过程需要多长时间?

代码:

代码语言:javascript
运行
复制
<?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>
EN

回答 2

Stack Overflow用户

发布于 2017-12-27 12:47:44

因此,您必须将当前工作的代码放入一个函数中,函数返回所需的内容。

代码语言:javascript
运行
复制
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上进行迭代,并以自己想要的方式打印它。

票数 0
EN

Stack Overflow用户

发布于 2017-12-27 13:12:03

要将所有文件都放到一个数组中,可以使用scandir('/mydir/')。

代码语言:javascript
运行
复制
$files = scandir('/mydir/here/');
foreach($files as $file) {
    if (strpos($file, '.txt')) {
        //dosomething
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47992424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档