dポイントプレゼントキャンペーン実施中!

教えてください

以下のプログラムを記述したphpを実行すると、ファイルダウンロードになってしまいます

※プログラムはあるサイトにPOST送信をするものです

解決方法を教えてください

よろしくお願いします

<?php

//ホスト設定
$host = "aaa.bbb.jp";
//パス設定
$path = "/data.php";
//POSTデータ設定
$data = "AAA=111&BBB=222&CCC=333&DDD=444";
//URLエンコード
$data = urlencode($data);
//実行
header("POST " . $path . " HTTP/1.1\r\n");
header("Host: " . $host . "\r\n");
header("Content-type: application/x-www-form-urlencoded\r\n");
header("Content-length: " . strlen($data) . "\r\n\r\n");
header($data);
exit(0);

?>

A 回答 (2件)

> ※プログラムはあるサイトにPOST送信をするものです


その記述だとクライアント(ブラウザ)に対してPOSTしているのでは?
あと、その記述だと $data はヘッダに入るけど意図通り?
(Content-lengthが45なのにContentが空っぽだけど)

以下はブラウザが受け取るであろうレスポンス。
POST /data.php HTTP/1.1
Host: aaa.bbb.jp
Content-type: application/x-www-form-urlencoded
Content-length: 45
AAA%3D111%26BBB%3D222%26CCC%3D333%26DDD%3D444

(Contentは空)
    • good
    • 0

PHPファイル自体をダウンロードしようとしちゃうってこと?



それなら、PHPじゃなくて設定自体がおかしい。

この回答への補足

他のphpプログラムは問題なく動作しております

提示しましたプログラムコードのみの話となります

ファイルダウンロードをすると、プログラム名で空(0バイト)ファイルが作成されます

また以下の記述が特に問題かなと思っています

header("Content-type: application/x-www-form-urlencoded\r\n");

補足日時:2012/02/05 22:46
    • good
    • 0

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