私はfile_upload_form.html
題したファイルにHTMLコードに続く書いた:なぜprint_r()関数がプログラム出力を妨害していますか?
<!DOCTYPE html>
<html>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
Select image to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
</body>
</html>
とupload.php
題したファイルには、次のコードが含まれます。私は(つまり提出、Webブラウザでこのコードを実行すると
<?php
echo "Value of Post is : ".print_r($_POST); die;
?>
をSubmitボタンをクリックするとHTMLフォームが表示されます)次の出力が表示されます。
Array ([submit] => Upload Image) Value of Post is : 1
conc erned:print_r()
関数の出力が文字列前に印刷されてしまった方法
「ポストの値は次のとおりである:」と私の次の質問は値1を文字列「値の後に印刷されてしまったところからです投稿は: "?
私はそのような相違がプログラムの出力にあるのはなぜですか?なぜ文字列"投稿の値は:"が最初に取得されていないし、配列の値$_POST
?なぜが印刷され、どこから来ているのですか?
コードprint_r($ _ FILES)を実行した場合です。死ぬ; 「1」が印刷されませんでした。それは配列要素だけを出力しました。 print_r()関数に追加のパラメータを指定しなかったので、なぜ "1"が出力されませんでしたか? – user2839497
@ user2839497私が言ったように、print_rはその出力をそのまま出力します。 'echo'に入れようとすると、print_rは出力を返さないときに' true'を返すので、 '1 'をエコーします。 – ksjohn