• ベストアンサー

サーバー間のファイルの移動(コピー)について

質問させてください。 ウェブサーバーAとBがあるとします。 サーバー間でファイルを移動(コピー)するプログラムにC.phpがあるとします。 C.phpでウェブサーバーAにあるD.txtをウェブサーバーBの指定したディレクトリに移動(コピー)をするようにしたいのですがどのように記述すればいいのかわかりません。アドバイスお願い致します。 ※移動とコピーはどちらでもかまいません。

  • PHP
  • 回答数2
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • maiton
  • ベストアンサー率100% (1/1)
回答No.2

FTP関数を使ってファイルをコピーすると出来ます。 が、しかし、FTP関数は標準ではインストールされていないので、使えない場合が多いです。 FTPのCLASSを提供しているHPがありますので CLASSを使えば、FTPが実行できます。

その他の回答 (1)

  • kalze
  • ベストアンサー率47% (522/1092)
回答No.1

サーバーAからサーバーBへ、任意のディレクトリにファイルをコピーまたは移動させるC.phpを作成したいということですよね? C単品では無理じゃないかな? 私がやるならですが。 Aで、BにあるC.phpを呼び出し、そのときに、 ・保存するディレクトり ・コピー(移動)したいファイルを渡す。 C.phpは上記で受け取ったデータ・情報をもとに、保存する という感じでしょうか。

関連するQ&A

  • サーバー上のファイルコピー

    PHP4で画像をサーバにアップロードするプログラムを作っているのですが、 画像をアップロードするところまではできたのですが、 その画像を、同じサーバ上の別のディレクトリにコピーしたいのですが、いい方法はあるでしょうか。 形としては、a,b,cというディレクトリがあり、a,b,cそれぞれのディレクトリにtest.jpgという同一の画像をアップしようとしています。 とりあえず、aディレクトリには、画像をアップロードできていて、あとは、b,cにその画像をコピーする形にしようと考えています。

    • ベストアンサー
    • PHP
  • tarを使用したサーバー間のファイル移動について

    サーバー移転を予定しています。 コマンド「tar」を利用してホームページファイル群を移動させたいのですが、思い通りに行きません。 【移転イメージ】 移動元(サーバーA) /web/ ┗ index.html ┗ a.html ┗ dirA ┗ 他多数 ↓↓↓↓ 移動先(サーバーB) /httpdocs/ ┗ index.html ┗ a.html ┗ dirA ┗ 他多数 ファイルが複数あるため、移動元(サーバーA)の/web/ディレクトリごとアーカイブして、移動先(サーバーB)のhttpdocs内で展開しましたが、以下のような構成になってしまいました。 アーカイブ tar -cvf webdata.tar web/ サーバーBのhttpdocs内で展開 /httpdocs/ ┗ /web/ ┗ index.html ┗ a.html ┗ dirA ┗ 他多数 ※ ディレクトリ「httpdocs」の中に、「web」ディレクトリが展開されてします。 webディレクトリごとtarするのがいけませんか?ファイルが多いため、個別にtarするのが困難です。 コマンドに詳しくないため、他に良い方法があるかもしれませんが、詳しくわかりません。良い方法がありましたら、教えて下さい。 どうぞ、宜しくお願い致します。

  • ファイルの移動

    ご質問ですが。 (php4.2) (register_globals=off) サーバーにアップロードしてある複数のファイルを、その名前で判別して別のフォルダに選り分けるプログラムを考えています。 例: フォルダ[AAA]内に「b_123.php」「c_345.php」「d_456.php」の3つがアップロードされています。 phpで制作した、ブラウザ上のボタンをクリックすると、 「b_123.php」→フォルダ[BBB]内に 「c_345.php」→フォルダ[CCC]内に 「d_456.php」→フォルダ[DDD]内に移動します。 元のフォルダ[AAA]内は空になります。 上記の例は3つのファイルですが、実際はたくさんあります。 何方かお詳しい方、どうかよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • batファイルについて

    C:\work\a\a.txt C:\work\a\b.txt C:\work\a\c.txt C:\work\b\a.txt C:\work\b\d.txt C:\work\c\a.txt C:\work\d\a.txt C:\work\d\e.txt C:\work\d\f.txt 上記のようなファイルがあったとき 各ディレクトリのa.txtだけを残したいのですが (他のファイルは全部削除) どのようなbatファイルを作成すればよろしいのでしょうか。 すみませんが方法がありましたら教えてください。

  • クライアントPCからファイルのアップロード

    ASPでファイルをアップロードするシステムを作っています。 クライントPCにあるファイル(<Input type=file>タグを使ってファイルのパスを取得)を、サーバーPCの指定したフォルダへコピーしたいです。 FileSystemObjectを使って、このような処理は可能でしょうか? Set objFileSys = CreateObject("Scripting.FileSystemObject") objFileSys.CopyFile "C:TEST\ABC.txt","D:TEST\" 現在、このような記述をしたところサーバーPCの"C:TEST\ABC.txt"をサーバーPCの"D:TEST\"へコピーするだけになってしまいます。 やりたいことはクライアントPCの"C:TEST\ABC.txt"をサーバーPCの"D:TEST\"へコピーです。 なにか良い方法がありましたら教えてください。

  • FTPサーバからファイルをコピーしたい

    お世話になります。 唐突ですが、FTPサーバーからファイルをディレクトリごと移動させる動きをbatファイルまたはほかのプログラムで実現させたいのですが、方法が分かりません。 Move処理自体が難しそうなのでファイルをコピー後に削除できればと考えましたが、なかなかうまいことできません。 ちなみにftpサーバーは常にファイルが追加されるので全てのファイルをコピーする必要があります。 FTPサーバーにアクセス⇒全てのディレクトリごとコピー⇒コピーしたディレクトリごと削除。 この一連の流れを実現できるようなコマンドはありませんでしょうか。 何卒、宜しくお願い致します。

  • 特定のファイルだけをサブディレクトリ以下のファイルをディレクトリを作成してコピーする。

    下のように各フォルダ内にreadme.txtファイルだけを特定のフォルダ内に コピーしたいのですが、ファイル名が同じなので、元のフォルダ階層のように フォルダを作成して、そのファイルだけがコピーされるようなfindを使った 器用な方法はできるのでしょうか? 私は、次の段階で躓いて折ります。 find ./ -name ".forward" execを使い方法は、 find img/ -type d -exec chmod 604 {} \; のようなことは使ったことはありますが、通過したフォルダを作成して、ファイルをコピーする ような方法はどのように記述したらよいか、わかりません。 A +-- a1.txt | a2.txt | readme.txt B +-- b1.txt | b2.txt | readme.txt C +-- c1.txt c2.txt readme.txt

  • 複数ファイルへの書き込み

    php初心者です。 現在formから送ったデータをa.txtファイルに書き込む様にしているのですが、もう1つ別のtxtファイルにも残さないといけなくなりました。 現在actionでa.txtを指定して書き込んでいるのですが、1回の送信でa.txtと別のディレクトリにあるb.txtにデータを書き込むにはどうしたら良いのでしょうか? actionで2つ指定なんてことはないですよね・・・。 初歩的な質問ですがわからなくて困っています・・・、どなたかアドバイスいただけたら幸いです。 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • バッチでscpコマンド

    Aサーバーで動作するバッチを用いて、Bサーバー内に置いてある指定ディレクトリ内前ファイルを取得するプログラムを作成しています。 下記の記述を行ったのですが、うまく起動してくれません。 exec("scp -r Bサバユーザー@Bサバホスト:コピー元ディレクトリ Aサバコピー先ディレクトリ"); 原因のわかる方がおられましたらご回答頂けないでしょうか。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • shファイルで、7日以上前の更新日に該当するディレクトリ(ディレクトリ

    shファイルで、7日以上前の更新日に該当するディレクトリ(ディレクトリの中には、サブディレクトリ、ファイルがあります)を削除したいのですが、どのような記述を書けばよろしいのでしょうか? 例)ディレクトリは、以下のイメージです。 ※shファイル実施日が5/8であれば、/20100501をディレクトリごと削除したいです。 /20100501 | ----a.txt,b.txt,c.txt | ----log | | | ----1.log | ----sql | ----1.sql /20100502 | ----a.txt,b.txt,c.txt | ----log | | | ----1.log | ----sql | ----1.sql

専門家に質問してみよう