2017-10-11 10 views
-2

テキストドキュメント(たとえば546行目)から特定の行をWebサイトに読み込むにはどうすればよいですか?.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)にするよう依頼したので、古い技術を使用してこのソリューションを提案します。だからここに行く!怖がらないでください!私たちがしようとしているのは、Common Gateway Interface (CGI) programの結果を "#exec cgi"ディレクティブを使って静的HTML文書に埋め込むことです(Server Side Includes (SSI))。それは複雑に聞こえるが、かなりシンプルだ。 2つのファイルを作成し、Webサーバーが正しく構成されていることを確認するだけです。 3つの簡単なステップ!あなたのHTMLファイルの内容は、(これだけだろう単にシンプルなテキストエディタを使用してサーバー上のHTMLファイルにコピー&ペースト

あなたのHTMLファイルを作成します

1:私はあなたがステップバイステップで案内します):

<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スクリプトファイルを作成します。

上記はまだ動作しません。あなたの行番号を出力する簡単なプログラムに依存します。 (あなたのcgi-binディレクトリ内に配置するようにしてください)それはperl-print-line.pl by Alvin Alexanderあり、そしてあなたは、単にコピーしてこのファイルを作成し、あまりにもテキストエディタに以下のPerlコードを貼り付けることができます。

#!/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サーバーでもこれを実行できますが、まずそのWebサーバーが構成されていることを確認する必要があります。 PerlScriptsJavaScripts.comサイトごとに、サーバーは、UNIX/Linuxサーバである

場合は、 それはSSIをサポートしていますかなり確信することができます。 SIではApache Serverソフトウェアを使用する必要があります。ほとんど unix/linuxサーバはApacheを使用しています。一部のWindowsサーバーでもApacheを使用していますが、ほとんどのサーバーでIIS(Internet Information Server)を使用しています( )。サーバー ソフトウェアは変更可能なものではなく、 サーバー全体(他のユーザーのWebサイトを含む)を実行するため、ホストも はあなたのために変更を拒否します。代わりに、あなたのサイトをApacheを使用する他のサーバーに移動するのに十分親切かもしれません。

ほとんどの人がSSIを使用するには、 という名前のページに「shtml」という拡張子を付ける必要があることを伝えます。これは当初のケースかもしれませんが、サーバは に、通常の "htm"または "html"ファイルを受け入れて解析するように設定することもできます。

UNIX/LinuxサーバーではなくWindowsサーバーをお持ちの場合は、this article by Robert McMurrayが便利です。最も重要なのは、彼はSSIがIIS 6でSSIを有効にするにはIIS 6ではデフォルトで有効になっていない、

を述べ、 を設定するサーバー側のステータスは、インターネットインフォメーションサービス(IISで可 へのWebサービス拡張が含まれています)マネージャー。

IIS 7にSSIがデフォルトでインストールされていません。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を読んでみてください。

関連する問題