• 締切済み

FTPでのGET

サーバ上にあるファイルをFTPのGETでダウンロードする場合、 転送中のサーバ上のファイルは、どうなるのですか? 切り取りで転送することは可能ですか? サーバ側では、 クライアント側で転送中であるかどうか、 もしくは削除して欲しいのですが。 転送中に、そのファイルを触れないようにするため。

みんなの回答

  • 100Gold
  • ベストアンサー率27% (284/1018)
回答No.2

理論上はクライアントがGETした時点の状態のファイルが取得されるはずで、転送中にファイルに書き込みが合っても関係ありません。 実際は実装に依存しますが、多分こうなっていると思います。

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

コピーされている状態だと思いますよ。 転送後、クライアント側から削除するしかないですね。

wan-chan
質問者

補足

コピー後に削除する方法しかありませんか? サーバ側では、クライアント側が転送前なら、 そのファイル(圧縮ファイル)にファイルを追加したいんです。 転送後に削除されてしまうと、 もしかしたら、転送時点でのファイルと転送後に削除するファイルは 別物(名前は同じ)になってしまう可能性があり、それを避けたいのですが・・・。 では、クライアント側で転送前にそのファイルを読み取り専用にすることは 可能ですか?

関連するQ&A

  • FTPコマンドでgetしたい

    FTPコマンドでファイルを転送したい。操作はクライアントで行っています。 サーバ⇒クライアントです。ディレクトリー構成は。(サーバー側)c:\2.txt を⇒(クライアント側)c:\2.txt に転送したいのですがエラーが出ます。次のように実行しています。 ftp>get c:\2.txt c:\2.txt としています。これを実行すると次のエラー 【550 c:\2.txt :The filename is incorrect】 と出ます。どうすればよいでしょうか? ファイルタイプもascii にしたりbin にしたり試しているがだめです。 お願いします。

  • FTPファイルのget後のファイル削除について

    IIS7.5とWindows Server 2008 R2でFTPサーバーを構築しています。 FTPサーバーにファイルを保存して、そのファイルをお客様がFTPサーバーに 接続してgetします。 その際に、同じファイルが2回get出来ないように、getされたファイルのみを 削除したいと考えています。 また、getされた場合だけ削除したいので、getされていないファイルの削除は 出来ない為、コマンドによる自動削除は行えません。 getされた場合にのみ該当ファイル削除するようなソフトや方法などがあれば お教え下さい。 宜しくお願い致します。

    • ベストアンサー
    • HTML
  • FTPのPUT、GETについて

    FTPのPUT、GETについてお教え下さい。現在サーバーの設定は完了し、DOS画面よりFTPでPUTを行っているのですが、送信先となるサーバーにファイルサイズがゼロのファイルが作成され、途中で止まった状態になってしまいます。GETも同様でサーバーからクライアントにファイルを取得はしているのですが、ファイルサイズがゼロのファイルが作成され止まった状態になってしまいます。また、他のサーバーでPUT、GETを行うとPUT、GET共にファイルの取得も送信も出来ます(クライアントは同じPCを使っています)。やはりサーバーの設定が足りないのでしょうか? どなたか対策方法をご存知の方がいましたらお教え下さい。よろしくお願い致します。

  • FTPの”GET”について

    2つのサーバー間において、FTPサーバーは両方に入っているのですが、 片方のFTPはサービスを停止しています。残りの一方から、停止している 側へFTPのGETを使って、ファイルを取っているようなのですが、どういう 仕組みなのでしょうか。相手方にFTPサービスが稼動していなくても、 こちら側のFTPからファイルをもってくることが可能なのですか? どのなたかよろしくお願いします。

  • ftp_getできない?

    レンタルサーバの自前のファイルサーバからFTP接続にてファイルを取得しようとしているのですが、エラーとなってしまいます。 FTP接続はできているのですが、ファイルの取得に失敗(FALSE)してしまいます。 レンタルサーバの環境は OS:Linux PHP:4.4.1 試しにftp_nlist関数にてファイル一覧を取得しようとしましたが、やはり失敗(FALSE)してしまいます。 知り合いのレンタルサーバを借用して全く同じプログラムを実行すると正常に一覧の取得ができました。 FTP接続時・ログイン時にはエラーが発生していないのでFTPでの転送は可能だと思うのですが、全くわかりません。 どなたか分かる方ご教授お願いします。 以下、スクリプトです。 if($ftp=ftp_connect($ftp_host)){  if(ftp_login($ftp,$ftp_user,$ftp_pass)){   //ファイルリスト一覧取得    $file_list=ftp_nlist($ftp,".");   var_dump($file_list);   //ファイルダウンロード    if(!(ftp_get($ftp,$local_file,$remote_file,FTP_BINARY))){     エラー処理1;    }   }   else{     エラー処理2;   } } else{  エラー処理3; }

    • ベストアンサー
    • PHP
  • FTP関数について

    FTP関数についての質問です。 自分のHPからFTPを用いてファイルをダウンロードできるように したいため、FTPサーバに接続してファイルをダウンロードさせる ロジックを作ったのですが、うまくいきません。 というのは、私の作ったFTP処理では、サーバ上で実行されるので、 呼び出し元がサーバになり、ファイルはサーバ上にダウンロード されてしまうのです。 そこで質問なのですが、 PHPのFTP関数は、クライアントからプログラムを実行しないと クライアント側にファイルはダウンロードされないのでしょうか?

    • ベストアンサー
    • PHP
  • FTPで存在しないファイルをGETしたときの動作について

    皆様 FTPコマンドで、FTPサーバ上に存在しないファイルをGETした場合の動作について教えてください。 Windowsのコマンドプロンプトで、FTPを使い、ファイルを取得しようとしています。 たまたま、取得対象ファイルがサーバ上に存在しない場合、サーバからのステータスコードは550であるのに、0バイトのファイルが保存されてしまいます。 これは、通常の動作でしょうか? (私の知る限り、0バイトファイルを生成するFTPクライアントは無いのですが…) あるいは、何か設定等に問題があるのでしょうか? 設定等に問題が有る可能性があれば、それを教えてください。 ちなみに環境は 【クライアント】 OS:WindowsXP SP2 【サーバ】 OS:Windows2003サーバ FTPサーバ:Microsoft FTP Service(IIS) です。 よろしくお願いします。

  • VB6.0でFTPでのファイルの送受信

    VB6.0でFTPでのファイルの送受信(下記(1))をしようと考えております。 尚、コンポーネントは、インターネットトランスファコントロール(Inet)を使用しております。 (1)"リモートサーバーに対して、複数件のファイルを送信し、無事転送が完了したら(リモートサーバー の指定フォルダに送信された複数件のファイルがあるのを確認後)、  クライアント側のファイル(リモートサーバーに送信が済んだファイル)を消す" という処理を考えております。 ここで、質問なのですが (1)vbを使ったFTP転送で、複数件のファイルを一括転送(mputコマンドの使用)は、可能か?  (2)もし、(1)が不可能の場合、    "送信するファイルをputコマンドで1つ送って、リモート側にそのファイルがあるのを    getコマンドで確認して、もしgetであれば、クライアント側のそのファイルを消す" という処理を送信するファイル数分繰り返すことになるんですか?        1つのファイルの場合に、Inet1_State_Changeイベントで、ループさせstate = 12 の時( リモート側に正常に送信されたと考えて)、クライアント側のファイルを消していいのでしょうか?    VBのヘルプを見ると、state = 12 は、get処理で使用するというようなことを書いてありますが。     以上 

  • シーケンス順にget (ftp)

    シーケンス順にget (ftp) こんにちは。 当方Windows 2003 Server、相手はWindows系でIIS6.0という構成でFTPで通信を 行いたいと思います。 相手側の所定のフォルダーに、例えば MB001.txt MB002.txt MB003.txt という具合にファイルが格納されています。 これを、当方側がgetで引き取りたいのですが、このときの仕様として、 ・シーケンス順を守りたい(例で言うと001から順に) ・引き取った後はデータを削除する があります。 そこで、シーケンス順を守る形でgetでき、getできたファイルだけを削除する方法が あれば教えてく頂きたいと思います。 どうぞ宜しくお願い致します。

  • HTTPとFTPの違い

    vectorなどのソフトをダウンロードするときHTTPダウンロードとFTPダウンロードを選んでダウンロードしますが、 HTTPダウンロードの場合はHTTPプロトコルでwwwサーバとやりとりをして、その後wwwサーバがデータベースサーバに問い合わせをして、目的のデータをwwwサーバーに返しクライアントに80番ポートで転送するのでしょうか? またFTPダウンロードの場合はFTPプロトコルでanonymous認証してからFTPサーバとやりとりをして、その後FTPサーバがデータベースサーバに問い合わせをして目的のデータをwwwサーバに返しクライアントに20番ポートでデータを転送してるのでしょうか? ちょっとわからなくなったので、間違えていたら教えて下さい。 よろしくお願いします。

専門家に質問してみよう