如何将文本文档(例如第546行)中的某一行加载到网站中?
答案 0 :(得分:0)
用PHP做。使用fopen()
,fread()
和fclose()
方法。获取特定的txt行是相对的,因为格式为.txt
从w3schools和PHP manual开始。想出来的最好方法是尝试和文件。就我而言,它一直很有用。
答案 1 :(得分:0)
我建议使用旧技术的解决方案,因为您要求使用旧文件格式(html)进行此工作!所以在这里!不要害怕!我们要做的是使用Server Side Includes (SSI)将Common Gateway Interface (CGI) program的结果嵌入到静态HTML文档中,方法是使用" #exec cgi"指示。这听起来很复杂,但很简单。我们只需要创建两个文件,然后确保正确配置了Web服务器。三个简单的步骤!我会一步一步地指导你:
<强> 1。创建HTML文件
您的HTML文件内容就是这样(只需使用简单的文本编辑器复制并粘贴到服务器上的HTML文件中):
<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;
<强> 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。