電子書籍の厳選無料作品が豊富!

いつもお世話になっております。
環境:PHP5,SQLite3

サーバA…サーバBへの書き込み処理をするPHPファイルを置く
サーバB…書き込みが行われるファイルを置く(ファイルが無ければ作成される)

サーバAに置いたPHPスクリプトファイルで、
サーバBに置いてあるファイル(例えばPHPファイル)に書き込み処理をする場合、

PHPやサーバソフト(Apache)の設定を、
どのようにすれば良いでしょうか。

allow url fopenなどをちょこっと調べてみたのですが、
よく分かりませんでした。

サーバA、B両方のphp.iniに対し、
何らかの設定をする必要があるのでしょうか。
それとも、片方だけで良い?!

また、ファイルの書き込み権限の設定も関係してくる話だと思います。
書き込み側と、書き込まれる側の権限設定(chmod)についても、
併せて教えて頂けると助かります。

どなたか、よろしくお願いします。

A 回答 (2件)

WEBAPI


フロントプログラムを作成して、そのプログラムにてデータの更新処理を行ってやろう、ということですね。

両方ともPHPで行うことを想定します。
AサーバのPHPスクリプトで、「fsockopen」関数などにて、BサーバのPHPスクリプトに対して、POSTを行ってやります。
BサーバはそのPOSTしてきたデータを受け取り、各ファイルやDBなどにデータを登録する、というだけですね。
fsockopen関数は、HTTP通信を行う関数で、HTMLのフォームでPOSTするように、指定したプログラムにPOSTすることが出来ます。(POSTだけでなく、GET、HEADなどのリクエストメソッドを記述できます。)
fsockopen関数の便利な使い方などは別途検索して探してみてください。
色々な実装があります。
    • good
    • 0
この回答へのお礼

>両方ともPHPで行うことを想定します。

安心致しました。笑

>AサーバのPHPスクリプトで、「fsockopen」関数などにて、
>BサーバのPHPスクリプトに対して、POSTを行ってやります。
>fsockopen関数の便利な使い方などは別途検索して探してみてください。

わかりました!
調べてみます、ありがとうございました!^^

お礼日時:2009/08/15 21:40

人力検索はてなにて、同様な内容の質問がありました。


http://q.hatena.ne.jp/1234887784

allow_url_fopenがOnになっている場合に、
<?php
$fp = fopen('http://example.com/hogehoge.php');
?>
などとして、ファイルを取得できますが、
これはあくまで、HTTP(ハイパーテキストトランスファープロトコル)でのアクセスなので、phpのファイル内容を取得するのではなく、PHPの実行結果を取得することになり、
fputs/fwrite関数にて、書き込みが出来るのは、HTTPヘッダのみとなります。
その為、上記URLでの回答者が言っているように、FTP関数で接続して、ファイルをFTP経由でUPするのをPHPで行うとか、SSH2関数を使って・・・とする必要があります。
そうなると、SSHでアクセスしてLinuxコマンドを、FTPコマンドをゴリゴリ記述する必要があり、手間ばかりかかってしまいますので、

2番目の方の回答の、「・リモートサーバ側にデータをやりとりするWEBAPI等を作成してそれ経由でデータのやりとりをする」
が最も良いかなと思います。
    • good
    • 0
この回答へのお礼

hogehoge78さん、こんばんは。

早速、はてなの質問を見てきましたが、
私が思っていたよりも、大変な作業であることが分かりました。

リモートサーバのhtmlソースの取得(file_get_contents()等)のように手軽に、
ファイル自体の読み書きも出来るのかと思っていましたが、考えが甘かったようです。

で、先ほどの質問ページの中の話に戻りますが、
1番目の回答者の方法は力業、
2番目の回答者の方法は実際的、
そんな印象でした。

ただ、残念なことに、2番目の方が挙げられている方法はどれも、
私にはよく分かりませんでした。笑

>「・リモートサーバ側にデータをやりとりするWEBAPI等を作成してそれ経由でデータのやりとりをする」

「WEBAPI等を作成」
これは具体的には、どういうことでしょうか。
APIという言葉もモヤモヤ(これについてはネットで調べました)、
作成方法もモヤモヤ(こちらについては謎のままで、作成言語はJAVAやC言語とかなのでしょうか?)、
という感じです。
場合によっては、既成のWEBAPIを利用したり?!

※ちなみに、私はPHPくらいしか扱えません。苦笑

どのくらい敷居が高いことをしようとしているのか、
それすらよく分からない状況にあります。
やっぱり、まだ私には難しいのかな~。笑

お礼日時:2009/08/14 02:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!