2011-12-21 9 views
0

カールを使ってローカルファイルに投稿しようとしましたが失敗します。それはできますか?私の2つの管理システムは同じサーバー上にあり、同じハードドライブ上のファイルに移動するだけでインターネットシステム全体を横断する必要はありません。あなたは絶対に何らかの理由で巻き込まれたHTTP層が必要な場合はCURLを使用してカールを使ってローカルファイルに投稿できますか?

file_put_contents('/path/to/the/file', $contents); 

にのみ行われるべきである、またはあなたの場合」:彼らは同じドライブにしている場合は

+0

あなたは何を試しましたか?どのようなエラーがありましたか?ローカルシステムに対処するために127.0.0.1またはlocalhostを使用しましたか? – nwaltham

+0

私は$ _SERVER [DOCUMENT_ROOT]に行った。 '/ dir/to/file.php' –

+0

ローカルファイルに "* write *"したいのですか、または "* POST *"要求をローカルサーバー上のハンドラスクリプト? – mario

答えて

1

、その後、代わりにファイル操作を使用しますリモートサーバーを扱う。 HTTPを使用すると、 'target'スクリプトでファイルのアップロードと送信する必要のあるデータを処理できるようにする必要があり、そのスクリプトはいつでもファイル操作を行う必要があります。あなたのリビングルームからキッチンに移動できるように、世界一周飛行機に乗っています。

+0

あなたは何を知っていますか?それは私が持っている課金システムのためです。私はそれがデータを送り返すことを認識しました(API)..あなたはそれを送り返すと思いますか? curlを使うか、それともcurlが返すスクリプトの出力だけですか? –

+0

あなたはカールで本当に "返信"できません。それはまったく別の接続であり、新しい着信接続を待機するシステムが必要です。 curlはデータを送信し、リモートスクリプトが出力したものを返します。 –

+0

ok、それは私が思ったことです。どのように私はスクリプトにデータをPOSTし、別の方法でコンテンツを返すことができますか? localhostはそのトリックをしなかった。 –

2

投稿データです。それは暗号化されたAPIのため、正確にはどういう仕組みか分かりません。

詳細な説明がない限り、誰もあなたに何をすべきか答えられません。その後、

$url = "https://$_SERVER[SERVER_NAME]/path/to/api.php"; 

カール呼び出しから、その出力を受け取る:

しかし、それは、ローカルサーバー上で実際にPOST receivalスクリプトだ場合は、URLを使用して、それにPOSTリクエストを送信することができます。

$data = curl($url)->post(1)->postdata(array("billing"=>1234345)) 
        ->returntransfer(1)->exec(); 
// (you would use the cumbersome curl_setopt() calls instead) 

XMLやJSONなどの応答が得られます。

+0

これを試してみてください。 –

+0

それは動作しますが、私はドットコムで入力するのと同じことをやっているだけではないことをどのように知っていますか? –

+0

私はあなたのスクリプトの内部の動作について何も知らない。 – mario

0

file://locafilespec.extは私のために働いた。私は、Webサーバが提供していないフォルダ内のlinuxボックスの同じフォルダに2つのファイルを持っていて、ファイル://test.phpに投稿するためにファイル://ラッパーを使いました。それはかなりではありませんが、最終的な休息場所に移動するまで、開発者のために働くでしょう。

関連する問題