J'ai écrit suivant le code HTML dans un fichier intitulé file_upload_form.html
:Pourquoi la fonction print_r() perturbe la sortie du programme?
<!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>
et le fichier intitulé upload.php
contient le code suivant:
<?php
echo "Value of Post is : ".print_r($_POST); die;
?>
Quand je lance ce code dans un navigateur Web (par exemple soumis le formulaire HTML en cliquant sur le bouton Soumettre) J'ai eu la sortie suivante:
Array ([submit] => Upload Image) Value of Post is : 1
S'il vous plaît se référer à la conc erned:
Comment la sortie de print_r()
fonction ont été imprimés avant la chaîne « Valeur du Post est: » et ma question suivante est de l'endroit où la valeur 1 ont été imprimés après la chaîne « Valeur Le message est: "?
Je veux dire pourquoi une telle différence existe-t-elle dans la sortie du programme? Pourquoi la chaîne "Valeur de la publication est:" ne reçoit pas d'abord, puis les valeurs dans le tableau $_POST
? Pourquoi est imprimé et d'où il vient?
Si tel est le cas lorsque j'exécute le code print_r ($ _ FILES); mourir; il n'a pas imprimé "1". Il n'a imprimé que les éléments du tableau. Pourquoi n'a-t-il pas imprimé "1" car je n'ai fourni aucun paramètre supplémentaire à la fonction print_r()? – user2839497
@ user2839497 Comme je l'ai dit, print_r imprime sa sortie par elle-même, c'est pourquoi il est nommé de cette façon. Si vous essayez de le mettre dans un 'echo', il fera écho '1' car print_r renvoie' true' quand il ne retourne pas sa sortie. – ksjohn