• 締切済み

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); ?>

みんなの回答

  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.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は空)

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.1

PHPファイル自体をダウンロードしようとしちゃうってこと? それなら、PHPじゃなくて設定自体がおかしい。

ktone
質問者

補足

他のphpプログラムは問題なく動作しております 提示しましたプログラムコードのみの話となります ファイルダウンロードをすると、プログラム名で空(0バイト)ファイルが作成されます また以下の記述が特に問題かなと思っています header("Content-type: application/x-www-form-urlencoded\r\n");