2017-10-11 67 views
-2

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

+0

你想要做什么语言? JavaScript,C#,PHP等? –

+0

@JakobLbk如果不使用其他语言,您将无法做到这一点。如果你是相当新的,JavaScript对你来说可能是最简单的。这个网页有很多关于html,css,javascript等的很棒的信息:https://www.w3schools.com/html/default.asp。我会建议检查一下,并真正花时间了解你在这里做什么。 –

+0

欢迎使用堆栈溢出。请回顾[我如何问一个好问题](https://stackoverflow.com/help/how-to-ask)。问题应该显示**研究证据和尝试自己解决问题**,清楚地列出您的特定编码相关问题以及[最小,完整和可验证示例]中的任何相关代码(https:// stackoverflow .com/help/mcve),所以我们有足够的信息能够提供帮助。 – FluffyKitten

回答

0

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

w3schoolsPHP manual开头。想出来的最好方法是尝试和记录。在我的情况下,它一直有帮助。

0

我建议这个解决方案使用旧技术,因为您要求将这项工作用于旧文件格式(html)!所以在这里!不要害怕!我们要做的是用Server Side Includes (SSI)通过使用“#exec cgi”指令将Common Gateway Interface (CGI) program的结果嵌入静态HTML文档中。这听起来很复杂,但很简单。我们只需创建两个文件,然后确保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>

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.配置SSI在您的Web服务器上

现在,除非您的Web服务器首先配置为处理SSI,否则上述所有操作都不起作用。所有流行的Web服务器仍然可以这样做,但您必须首先确保它已配置。每PerlScriptsJavaScripts.com网站,

如果你的服务器是在Unix/Linux服务器,你可以确信它 支持SSI。 SI需要使用Apache服务器软件。大多数 unix/linux服务器使用Apache。一些Windows服务器也使用Apache,但其中大部分使用IIS(Internet信息服务器)。服务器 软件是不是你可以改变的东西,因为它运行整个服务器(包括其他人的网站) 你的主机也将 拒绝为你改变它。他们可能会友善地将 您的站点迁移到使用Apache的其中一台服务器上。

大多数人会告诉你,要使用SSI,你必须用 命名为“shtml”扩展名。虽然最初可能是这种情况,但您可以将服务器设置为 以接受和分析常规的“htm”或“html”文件。

如果您有Windows服务器而不是UNIX/Linux服务器,那么您可能会发现this article by Robert McMurray有用。更重要的是,他指出,

SSI不是默认IIS 6上启用IIS 6上启用SSI,设置 对服务器端的状态包括Web服务扩展到 在Internet信息服务中心(IIS ) 经理。

默认情况下,SSI未安装在IIS 7上。要在IIS 7上安装SSI,请参阅 Server Side Include主题。

缺省情况下,在IIS 5和IIS 6中禁用#exec的cmd指令。 要启用cmd指令,请参阅Microsoft KB article 233969

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

最后,如果你正在处理IIS 7.5和你的* .html文件内的SSI指令不被自动预处理,尝试阅读this post

相关问题