- 締切済み
phpを実行するとファイルダウンロードになる
教えてください 以下のプログラムを記述した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); ?>
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Gotthold
- ベストアンサー率47% (396/832)
> ※プログラムはあるサイトに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は空)
- edomin7777
- ベストアンサー率40% (711/1750)
PHPファイル自体をダウンロードしようとしちゃうってこと? それなら、PHPじゃなくて設定自体がおかしい。
補足
他のphpプログラムは問題なく動作しております 提示しましたプログラムコードのみの話となります ファイルダウンロードをすると、プログラム名で空(0バイト)ファイルが作成されます また以下の記述が特に問題かなと思っています header("Content-type: application/x-www-form-urlencoded\r\n");