取ってきたファイルを自動リンクさせるには?

[上に] [前に] [次に]
ぺう 1999/12/06(月) 16:45:08
初心者なので、これがホームページでできることなのかわからないのですが、
取ってきたファイルをHP管理者が手を加えずに、そのファイルを自動的にリンクするというようなことができないでしょうか?。

インターネット・エクスプローラーの「履歴ボタン」のような感じでできないかと思ったのです。ここでは自分が行ったページが自動的に履歴としてリンクされています。

これと似たような感じでできるのではないかと思ったのです。ぶしつけな質問で申し訳ないのですが、よろしくお願いします。

ふにゃちん 1999/12/06(月) 16:55:09
「取ってきたファイルをHP管理者が手を加えずに、そのファイルを自動的にリンクする」というのは、どういう意味でしょう?

ディレクトリにアップロードしたファイルを(たとえば)index.htmlから、自動的にリンクさせたい…といった意味なのかな?

ぺう 1999/12/09(木) 00:44:43
ふにちゃんさん、そうです。そのようにしたいのです。
なにとぞ、よろしくお願いします。

1999/12/09(木) 01:04:51
ちゃんとアップロードするんですよね?
Perlで、

opendir(DIR, ".");
foreach $dir (grep {!/^\./ && /\.html$/} readdir(DIR)){
  print "<A HREF=\"$dir\">$dir</A><BR>\n";
}
closedir(DIR);
こんなのでフォルダ内にアップされているhtmlファイルの一覧が作れます。
これを応用してみては?

J.Naka 1999/12/09(木) 01:36:34
ん?難しいぞ、この課題は(^^;

ぺらさんの質問文、ふにゃちんさん、猫さん両名のレスを詳しく慎重に分析した結果、

 自分のパソコンにダウンロードしたファイル(つまり取ってきたファイルです)が、更新さているかを確かめるなどの目的のため、自分のパソコン内からリンクして更新チェックをた易くしたい。

と、いうような感じでしょうか?
目的は違ってるかもしれませんが自分のパソコン内で実現したい機能は合っているのではないでしょうか?
あっているとして、それをやるには、ダウンロードを行うプログラムをJavaScriptなどで作成しないといけないす。ダウンロードをブラウザで手動でやれば、その後の管理も手動でやらないと行けませんね、なにをダウンロードしたかはダウンロードした本人しか把握してないから。プログラムにそれをやらせるとプログラム側が把握できることになるので後の処理もプログラム側が自動で出来るかもしれません。

1999/12/09(木) 01:47:03
J.NAKAさんの言ってる意味が良くわからない・・・。
ぺうさんはホームページでって言ってるし。良く語弊がある用語ですが。
仮に、クライアント側のみで、更新日等をチェックしたいなら、自動巡回ソフトでも使うでしょう。
まぁ、ぺうさんのレス待ちですね。

hiro-kim 1999/12/09(木) 09:36:21
index.html が存在しない場合,そのディレクトリのファイル一覧HTML文を生成する

という,たいていのWebサーバが持っている標準の機能を使用する。

ふにゃちん 1999/12/09(木) 15:53:00
>index.html が存在しない場合,そのディレクトリのファイル一覧HTML文を生成する
>という,たいていのWebサーバが持っている標準の機能を使用する。

 究極の方法ですね。それなら、本当に何もする必要ないっす。
 ただ、それだとあまりにも表示が味気ないので以下のようなCGIを作ってみました(動作確認すみ)。

--------------------------------
#!/usr/local/bin/perl

$h_dir = '/usr/local/etc/httpd/htdocs/imt'; # 対象ディレクトリ(フルパス)
$h_dir_url = 'http://nc3s26/imt';           # 対象ディレクトリ(URL)
$chars = 'x-sjis'; # 本スクリプトの文字コード(x-sjis/x-euc-jp)
$conv  = 'sjis';   # 本スクリプトの文字コード(sjis/euc)
require './jcode.pl'; #日本語コードライブラリ
#########################################################
print "Content-type: text/html;CHARSET=$chars\n\n";
opendir(DIR,$h_dir);
foreach $dir (sort grep {!/^\./ && /\.html$/} readdir(DIR)){ # ディレクトリを読んで、[xxx.html]という名前の物のみ取りだし、ABC順にソート
open(DB,"$h_dir/$dir"); # 対象ファイルを開く
@files = <DB>;
close(DB);
$value = join('', @files);

$value =~ s/<TITLE>/<title>/g;    # 小文字変換
$value =~ s/<\/TITLE>/<\/title>/g;#
$value =~ s/\r\n//g; # 改行削除
$value =~ s/\n//g;   #
$value =~ s/\r//g;   #
if ($value =~ /^(.*)<title>(.*)<\/title>(.*)/) {
$title = $2; # タイトル取りだし
} else {
$title = $dir; # タイトルがなければファイル名を表示
}
&jcode'convert(*title,$conv); # 日本語変換
print "<A HREF=\"$h_dir_url/$dir\">$title</A><BR>\n";
}
# END OF SCRIPT

ま、見た目はあまり変わらないけど、TITLEが表示される分、わかりやすいかなと。
フォントの指定なんかは、適当にアレンジしてください。

ぺう 1999/12/10(金) 04:57:06
[[解決]]
どうも。この質問をした者です。
いろいろとありがとうございました。

こんなにも、親切に教えていただけて、とても嬉しいです。
どうも、ありがとうございました。

[上に] [前に] [次に]