从.txt加载某行到html

时间:2017-10-11 20:12:18

标签: text load line document

如何将文本文档(例如第546行)中的某一行加载到网站中?

2 个答案:

答案 0 :(得分:0)

用PHP做。使用fopen()fread()fclose()方法。获取特定的txt行是相对的,因为格式为.txt

w3schoolsPHP manual开始。想出来的最好方法是尝试和文件。就我而言,它一直很有用。

答案 1 :(得分:0)

我建议使用旧技术的解决方案,因为您要求使用旧文件格式(html)进行此工作!所以在这里!不要害怕!我们要做的是使用Server Side Includes (SSI)Common Gateway Interface (CGI) program的结果嵌入到静态HTML文档中,方法是使用" #exec cgi"指示。这听起来很复杂,但很简单。我们只需要创建两个文件,然后确保正确配置了Web服务器。三个简单的步骤!我会一步一步地指导你:

<强> 1。创建HTML文件

您的HTML文件内容就是这样(只需使用简单的文本编辑器复制并粘贴到服务器上的HTML文件中):

&#13;
&#13;
<HTML>
<TITLE>Load a certain line from a .txt into html</TITLE>

Here's the content of line 546 in filename.txt:
<!--#exec cgi="/cgi-bin/perl-print-line.pl 546 filename.txt"-->

</HTML>
&#13;
&#13;
&#13;

<强> 2。创建PERL脚本文件

上面的工作尚未完成。这取决于输出您的行号的简单程序。它是perl-print-line.pl by Alvin Alexander,您可以通过将下面的PERL代码复制并粘贴到文本编辑器中来创建此文件(确保将其放在cgi-bin目录中):

#!/usr/bin/perl

# purpose: print a specific line from a text file
# usage:   perl-print-line.pl line-number input-file

# use perl argv to verify the number of command line arguments
@ARGV == 2 or die "Usage: print-specific-line.pl line-number input-file\n";
$desired_line_number = $ARGV[0];
$filename = $ARGV[1];

# use perl open function to open the file (or die trying)
open(FILE, $filename) or die "Could not read from $filename, program halting.";

# loop through the file with a perl while loop, stopping when you get to the desired record
$count = 1;
while (<FILE>)
{
  if ($count == $desired_line_number)
  {
    # print line, then get out of here
    print $_;
    close FILE;
    exit;
  }
  $count++;
}
close FILE;

print "Sorry, I think the line number you entered is greater than the number of lines in the file.\n";

第3。在Web服务器上配置SSI

现在,除非您的Web服务器首次配置为处理SSI,否则上述所有操作都无效。所有流行的Web服务器仍然可以执行此操作,但您必须首先确保它已配置。根据{{​​3}}网站

  

如果你的服务器是unix / linux服务器,你可以非常肯定   支持SSI。 SI需要使用Apache Server软件。最   unix / linux服务器使用Apache。有些Windows服务器也使用Apache,但是   他们中的大多数使用IIS(Internet Information Server)。服务器   软件不是你可以改变的东西,因为它运行了   整个服务器(包括其他人的网站)也是您的主机   拒绝为你改变它。他们可能会很友好地移动   您的网站是另一个使用Apache的服务器。

     

大多数人都会告诉您要使用SSI,您必须使用   一个&#34; shtml&#34;延期。虽然最初可能是这种情况,但您可以设置   服务器也接受并解析常规&#34; htm&#34;或&#34; html&#34;文件。

如果您有Windows服务器而不是UNIX / Linux服务器,那么您可能会发现PerlScriptsJavaScripts.com有用。最重要的是他说,

  

IIS 6上默认未启用SSI。要在IIS 6上启用SSI,请设置   服务器端包含Web服务扩展的状态   允许在Internet信息服务(IIS)管理器中使用。

     

IIS 7上默认未安装SSI。要在IIS 7上安装SSI,请参阅   this article by Robert McMurray主题。

     

IIS 5和IIS 6中默认禁用#exec的cmd指令。   要启用cmd指令,请参阅Server Side Include

     

现在,IIS 7中的SSI文件禁用了#exec的cmd指令;   你只能使用cgi指令。

最后,如果您正在处理IIS 7.5并且* .html文件中的SSI指令未被自动预处理,请尝试阅读Microsoft KB article 233969