![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
いつもお世話になっております。
環境:PHP5,SQLite3
サーバA…サーバBへの書き込み処理をするPHPファイルを置く
サーバB…書き込みが行われるファイルを置く(ファイルが無ければ作成される)
サーバAに置いたPHPスクリプトファイルで、
サーバBに置いてあるファイル(例えばPHPファイル)に書き込み処理をする場合、
PHPやサーバソフト(Apache)の設定を、
どのようにすれば良いでしょうか。
allow url fopenなどをちょこっと調べてみたのですが、
よく分かりませんでした。
サーバA、B両方のphp.iniに対し、
何らかの設定をする必要があるのでしょうか。
それとも、片方だけで良い?!
また、ファイルの書き込み権限の設定も関係してくる話だと思います。
書き込み側と、書き込まれる側の権限設定(chmod)についても、
併せて教えて頂けると助かります。
どなたか、よろしくお願いします。
No.2ベストアンサー
- 回答日時:
WEBAPI
フロントプログラムを作成して、そのプログラムにてデータの更新処理を行ってやろう、ということですね。
両方ともPHPで行うことを想定します。
AサーバのPHPスクリプトで、「fsockopen」関数などにて、BサーバのPHPスクリプトに対して、POSTを行ってやります。
BサーバはそのPOSTしてきたデータを受け取り、各ファイルやDBなどにデータを登録する、というだけですね。
fsockopen関数は、HTTP通信を行う関数で、HTMLのフォームでPOSTするように、指定したプログラムにPOSTすることが出来ます。(POSTだけでなく、GET、HEADなどのリクエストメソッドを記述できます。)
fsockopen関数の便利な使い方などは別途検索して探してみてください。
色々な実装があります。
>両方ともPHPで行うことを想定します。
安心致しました。笑
>AサーバのPHPスクリプトで、「fsockopen」関数などにて、
>BサーバのPHPスクリプトに対して、POSTを行ってやります。
>fsockopen関数の便利な使い方などは別途検索して探してみてください。
わかりました!
調べてみます、ありがとうございました!^^
No.1
- 回答日時:
人力検索はてなにて、同様な内容の質問がありました。
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等を作成してそれ経由でデータのやりとりをする」
が最も良いかなと思います。
hogehoge78さん、こんばんは。
早速、はてなの質問を見てきましたが、
私が思っていたよりも、大変な作業であることが分かりました。
リモートサーバのhtmlソースの取得(file_get_contents()等)のように手軽に、
ファイル自体の読み書きも出来るのかと思っていましたが、考えが甘かったようです。
で、先ほどの質問ページの中の話に戻りますが、
1番目の回答者の方法は力業、
2番目の回答者の方法は実際的、
そんな印象でした。
ただ、残念なことに、2番目の方が挙げられている方法はどれも、
私にはよく分かりませんでした。笑
>「・リモートサーバ側にデータをやりとりするWEBAPI等を作成してそれ経由でデータのやりとりをする」
「WEBAPI等を作成」
これは具体的には、どういうことでしょうか。
APIという言葉もモヤモヤ(これについてはネットで調べました)、
作成方法もモヤモヤ(こちらについては謎のままで、作成言語はJAVAやC言語とかなのでしょうか?)、
という感じです。
場合によっては、既成のWEBAPIを利用したり?!
※ちなみに、私はPHPくらいしか扱えません。苦笑
どのくらい敷居が高いことをしようとしているのか、
それすらよく分からない状況にあります。
やっぱり、まだ私には難しいのかな~。笑
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 置換ソフトで指定したファイルの1行目に入力できるものを探しています 7 2022/11/24 10:34
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- C言語・C++・C# condaコマンドに対応したプロキシ設定が思うようにならないようです。 2 2022/04/11 17:15
- C言語・C++・C# このプログラミング誰か教えてくれませんか 3 2022/05/13 17:27
- WordPress(ワードプレス) WordPressの編集画面がいつもと違うのですがこれは何でしょう? 1 2023/03/29 10:26
- Windows 10 外部ドライブにマウントできない問題について 9 2022/03/22 18:08
- C言語・C++・C# このプログラミング誰か教えてくれませんか 2 2022/05/14 09:45
- PHP アップロードファイルの数に応じてCSSを動的に変更したいのですが、方法がわかりません 3 2023/07/23 21:59
- その他(IT・Webサービス) WEBサイト内のファイルを探す方法は? 1 2022/11/11 16:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
サイトのphpソースコードを表示...
-
use と requireの違いは?
-
CakePHPの .htaccess設定について
-
別のドメインのファイルをrequire
-
apache+phpにおいてリクエスト...
-
.phpと.incファイルの違いはな...
-
【file_exists】ファイルが存在...
-
phpが実行できない
-
さくらレンタルサーバーでPHPが...
-
phpmailerで送れない添付ファイ...
-
CFileDialogの最初のディレクト...
-
VB6にてメールを送信する方法
-
onedrive にexcelファイルをア...
-
phpのheader("Location:#pos")...
-
バイナリファイルをブラウザに...
-
OpenGLで描いて画像ファイル出力
-
フォントの色を変えるには?
-
VB.NET 最下位のディレクトリ名...
-
リンク先を隠す方法はないでし...
-
PHPのif文でその処理を途中で抜...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
.phpと.incファイルの違いはな...
-
【file_exists】ファイルが存在...
-
.phpファイルが、表示されない
-
URLが.PHPってどういう...
-
use と requireの違いは?
-
PHPからCronを編集したい
-
HTMLに埋め込んだPHPがうまく出...
-
さくらレンタルサーバーでPHPが...
-
プロパティファイルの読み込み...
-
htmlspecialcharsが機能してい...
-
PHPファイルの中身が見られるこ...
-
サーバ無しでphpを動作させる
-
thtmlファイルとはどんなファイ...
-
phpの書き方
-
PHP+MySQL SQL文を外部ファイル...
-
PHPの慣習的な書き方・組み方に...
-
cakephpで特定ファイル表示(hta...
-
PHPを使ってのサーバ上ファイル...
-
session_start()でwarningが表...
-
fopenでファイルを読み込み、そ...
おすすめ情報