人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

FTPソフトでパソコン内のファイルのタイムスタンプでWEBサーバーにアップロードができるソフトを探しています。できたらフリーソフトで

●質問者: ann-mypl
●カテゴリ:コンピュータ
✍キーワード:FTP Web アップロード サーバー ソフト
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● いのくに
●17ポイント

http://www.finalbeta.jp/laboratory/sage.pl

FTP には timestamp を変更したり保持したりするコマンドがありません。

timestamp は FTP サーバが自動的につけます。

どうしても timestamp を変更したければ、telnet や ssh 等でリモートサーバにログインして touch -t コマンドを使うか、提示した URL のように timestamp を変更する CGI を自作して実行するしかないと思います。

もしあなたが FTP サーバの管理者ならば、 FTP サーバの時刻を希望の時刻に変更してから、アップロードするという手もあるかもしれません。

◎質問者からの返答

ありがとうございます。


2 ● yukariko
●17ポイント

http://www.est.hi-ho.ne.jp/suikodow/os2/ftpsync.htm

ftpのファイル同期

上記のようにかなりややこしいことをすれば可能ですが、あまり実用的ではありませんね・・。

基本的には、inokuniさんの言う通り出来ないと思っておいたほうがよさそうです。

◎質問者からの返答

ありがとうございます。


3 ● JunK
●18ポイント

http://www.toyota.ne.jp/~kawauso/web/

簡単FTPソフトウェア FTP Exchange

多分、こんなソフトをお望みなのでは?。

私が使っていますのは、FTP Exchange というソフトです。更新したファイルだけをワンクリックでFTPサーバーに自動転送します。多分、タイムスタンプを比較していると思われます。

http://www.vector.co.jp/vpack/filearea/win95/net/htmledit/copy/i...

Vector:ダウンロード Windows95/98/Me用ソフト > インターネット&通信 > HTML作成 > ホームページ更新

言わずと知れたVectorです。

にゃんこ FTP、FTP XCOPY、Auto FTPが同目的で使用できるようです。

※使ったことはありませんm(_._)m。

◎質問者からの返答

更新したファイルだけをアップロードしたいわけではなく、パソコン内のタイムスタンプを保持したままアップロードしたいってのが答えです。

inokuniさんのsage.plプログラムはサーバーにアップロードし、必要事項を直し、実行させればできると言うプログラムと言うことでしょうか?ちと命令を調べてみようとは思っています。

または、サーバー内のファイルを一回消して、アップロードしたらパソコンのタイムスタンプが引き継がれていれば良いのです。


4 ● aki73ix
●18ポイント

http://winfaq.jp/

Windows.FAQ - ウィンドウズ処方箋

CGI実行するプロセスに書き換える権利があればこのCGIで日時を設定できます

手抜きなので必ず年は4桁

月日時分秒は2桁で指定してください

サンプル

sample.cgi?filename=dat%2ftest%2eerr&year=2001&month=11&day=11&hour=11&minute=20&second=11

-----------------------

#!/usr/local/bin/perl

$mthd=$ENV{’REQUEST_METHOD’};

local($qu,@in,$key,$val);

if($mthd eq ’GET’){

$qu=$ENV{’QUERY_STRING’};

}

elsif($mthd eq ’POST’){

read(STDIN,$qu,$ENV{’CONTENT_LENGTH’});

}

print qq(Content-type: text/html¥n¥n);

print ”<html><body>¥n”;

print qq(<META HTTP-EQUIV=¥”Content-Type¥” CONTENT=¥”text/html; CHARSET=Shift_JIS¥”>¥n);

*query = decode();

$filename=$query{’filename’};

$ye=$query{’year’};

$mo=$query{’month’};

$da=$query{’day’};

$ho=$query{’hour’};

$mi=$query{’minute’};

$se=$query{’second’};

$dates=$mo.$da.$ho.$mi.$ye.’.’.$se.’ ’.$filename;

print ”touch -t $dates”;

system ”touch -t $dates”;

print qq(

変更完了</BODY></HTML>);

exit;

sub decode

{

local(@query)=split(/&/,$qu);

foreach(@query){

tr/+/ /;

($key,$val)=split(/=/);

$key=~s/%([A-Fa-f0-9][A-Fa-f0-9])/pack(”c”,hex($1))/ge;

$val=~s/%([A-Fa-f0-9][A-Fa-f0-9])/pack(”c”,hex($1))/ge;

$val=~s/¥r¥n/¥n/g;

$vin{$key}=$val;

}

return *vin;

}

◎質問者からの返答

ありがとうございます。何とかやってみます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ