PHP Télécharger SI ISSET dit toujours que c'est?
OK, j'ai une sorte de drôle de problème avec mon code. Je suis en train de faire le téléchargement de forme de texte aux photos. Maintenant, j'ai besoin de vérifier si la photo est téléchargée ou le texte est inséré uniquement.
La simplification de code ressemble à ceci:
if (isset ($_FILES['image'])){
echo 'yes';
} else {
echo 'no';
}
la forme ressemble à:
<form action="" method="post" enctype="multipart/form-data" class="contact-form">
<form action="" method="post" enctype="multipart/form-data" class="contact-form">
<label for="title"><strong>Title</strong> (required)</label>
<input type="text" name="title" value="" required>
<label><span class="small"><strong>Add a photo</strong></span></label>
<input type="file" name="image"/>
<input type="submit" name"submit" value="Submit">
</form>
Maintenant, fondamentalement, ce que je suis en train de faire est de vérifier si le fichier est attaché ou pas, parce que j'ai besoin d'une autre option pour l'affichage de messages sans photos, dans la même forme; mais, le problème est qu'aucune mather si il est connecté ou pas, il dit toujours OUI.
De l'aide, n'importe qui.
Essayez
Nop, la même chose se produit. J'insère le titre seul, il dit que le fichier a été inséré.
pourquoi il est 2 fois
if (!empty($_FILES['image'])) { ...
?Nop, la même chose se produit. J'insère le titre seul, il dit que le fichier a été inséré.
pourquoi il est 2 fois
<form>
??OriginalL'auteur uollaa | 2013-07-05
Vous devez vous connecter pour publier un commentaire.
Pour vérifier si le fichier a été téléchargé, comment au sujet de:
is_uploaded_file()
est le choix ici, consultez la documentation pour elle.$_FILES
est un tableau de fichiers, chaque fichier dans la première dimension du tableau est automatiquement donné un['tmp_name']
clé dans la deuxième dimension, la valeur, c'est l'emplacement temporaire.Évidemment, vous devez utiliser
move_uploaded_file()
sur le fichier temporaire.OriginalL'auteur Jimbo
Vous vérifiez seulement que
$_FILES['image']
passé de votre formulaire.Mais vous n'êtes pas vérifier que posté
$_FILES['image']
est vide ou son contenant un fichier valide les donnéesLire la suite ici http://www.php.net/manual/en/features.file-upload.php
OriginalL'auteur bystwn22
La raison "isset" ne fonctionne pas est la plus probable, car la variable $_FILES est ensemble considéré, même lorsqu'il est réglé sur la valeur "null". J'ai trouvé le vide() suggestion pour être le plus propre. Bien que, sauf si vous êtes en utilisant une grande forme avec plusieurs fichiers, je voudrais enlever les crochets entièrement.
OriginalL'auteur Stacy Davidson
Utiliser empty() à la place.
OriginalL'auteur Lemmmy