2017-10-11 68 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

相關問題