upload d'images qi ne fonctionne pas - PHP - Programmation
Marsh Posté le 07-04-2007 à 19:50:31
Salut
Entoure ton code de [cpp][/cpp] stp merci.
Marsh Posté le 07-04-2007 à 22:21:33
code=php, même
Marsh Posté le 07-04-2007 à 23:10:08
J'ai juste tapé [code]
Marsh Posté le 08-04-2007 à 15:40:32
Code :
|
Marsh Posté le 08-04-2007 à 17:30:04
Tu devais uniquement mettre le code php/html/javascript entre les balises
Bref, il manque $nom_file et $extension.
Dans tous les cas, tu souhaiteras surement faire une comparaison d'un tableau de valeur avec le type de fichier envoyer. Car à l'heure actuelle tu compares avec une seule valeur.
Autre chose, vérifier l'extension n'est pas suffisant, tu peux renommer n'importe quel fichier en .jpg, il te faut récupérer le vrai type de l'image avec getimagesize()
Marsh Posté le 07-04-2007 à 18:33:46
bonjour tout le monde!
Voilà j'apprends le php et comme je suis debutant de chez debutant je n'y arrive pas trop. J'ai 2 problèmes. le 1er est que tous les fichiers se font uploadé alors que je ne veux que les .gif, .jpeg, .jpg et .png. voici mon code:
<body>
<?php
if(!empty($_POST['posted'])) {
// On vérifie si le champ est rempli
if(!empty($_FILES['photo']['name'])) {
// On vérifie l'extension du fichier
if(substr($nom_file, -3) == $extension) {
// On récupère les dimensions du fichier
$infos_img = getimagesize($_FILES['photo']['tmp_name']);
// On vérifie les dimensions et taille de l'image
if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($_FILES['photo']['size'] <= $max_size)) {
// Si c'est OK, on teste l'upload
if(move_uploaded_file($_FILES['photo']['tmp_name'],$target.$_FILES['photo']['name'])) {
// Si upload OK alors on affiche le message de réussite
echo '<b>Image uploadée avec succès !</b>';
echo '<hr />';
echo '<b>Fichier :</b> ', $_FILES['photo']['name'], '<br />';
echo '<b>Taille :</b> ', $_FILES['photo']['size'], ' Octets<br />';
echo '<b>Largeur :</b> ', $infos_img[0], ' px<br />';
echo '<b>Hauteur :</b> ', $infos_img[1], ' px<br />';
echo '<hr />';
echo '<br /><br />';
} else {
// Sinon on affiche une erreur système
echo '<b>Problème lors de l\'upload !</b><br /><br /><b>', $_FILES['photo']['error'], '</b><br /><br />';
}
} else {
// Sinon on affiche une erreur pour les dimensions et taille de l'image
echo '<b>Problème dans les dimensions ou taille de l\'image !</b><br /><br />';
}
} else {
// Sinon on affiche une erreur pour l'extension
echo '<b>Votre image ne comporte pas l\'extension .jpg !</b><br /><br />';
}
} else {
// Sinon on affiche une erreur pour le champ vide
echo '<b>Le champ du formulaire est vide !</b><br /><br />';
}
}
?>
mon FORM:
<form method="post" name="form2" enctype="multipart/form-data" action="<?php echo $editFormAction; ?>">
<table align="center">
<tr valign="baseline">
<td nowrap align="right">Photo:</td>
<td>
<input type="file" name="photo" value="" size="32" onChange="view_image()"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right"> </td>
<td><input type="submit" value="Insert record" onchange="view_image()"></td>
</tr>
</table>
<input type="hidden" name="id_photos" value="">
<input type="hidden" name="MM_insert" value="form2">
</form>
</body>
ai-je oublié qqch?
mon 2eme probleme:
lorsque j'insère une imge par un formulaire d'insertion l'image ne s'affiche pas, et lorsque je regarde la propriété d l'image, c'estun .tmp, alors qu'autrefois non.
<Script Language='javascript'>
function view_image(){
if (document.forms[0].photo.value.indexOf('.jpg',0) == -1 &&
document.forms[0].photo.indexOf('.JPG',0) == -1 ){
alert("\nL\'image doit être au format .jpg !\n\n" );
}
else {
document.emplacement_image.src=document.forms[0].photo.value
}
}
</script>
<img src="photos/vignette_photo_<?php echo $row_Rs_photos['photo']; ?>" name="emplacement_image"/>
merci de bien vouloir m'aider