Aller au contenu

enregistrement image depuis un formulaire


milou39

Sujets conseillés

bonjour,

j'ai crée un formulaire pour mon site où l'utilisateur peut enregistrer une photo personel.

le probleme est que les photo sont bien enregistrer sur le serveur avec le bon nom mais elle ne s'affiche pas!

et quand je met les images manuellement sur le serveur avec LeechFTP la elles s'affiche bien!

voici mon code, si quelqu'un a une idée parceque moi je cale un peut la!!

<p class="titre">*IMAGE:</p>  
<input type="hidden" name="MAX_FILE_SIZE" value="700000" />
<input type="file" name="monfichier" id="image" class="boiteFormulaire"/>

<?php

// GESTION DE L'IMAGE
// Définition des extensions de fichier autorisées (avec le ".")
$AUTH_EXT = array( ".jpg",".JPG", ".jpeg",".JPEG",".gif",".GIF",".bmp");


// Fonction permettant de vérifier si l'extension du fichier est
// autorisée.

function isExtAuthorized( $ext){
global $AUTH_EXT;
if(in_array($ext, $AUTH_EXT)){
return true;
}else{
echo"extension non valide";
return false;
}
}


if(!empty($_FILES['monfichier']["name"])){
$repertoireDestination = "baseImage/";
$nomDestination = $_FILES["monfichier"]["name"];
$extension = strrchr( $nomDestination, ".");


if(isExtAuthorized($extension)){
if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) {
if (rename($_FILES["monfichier"]["tmp_name"],
$repertoireDestination.$nomDestination)) {
echo "Le fichier temporaire ".$_FILES["monfichier"]["tmp_name"].
" a été déplacé vers ".$repertoireDestination.$nomDestination;
} else {
echo "Le déplacement du fichier temporaire a échoué".
" vérifiez l'existence du répertoire ".$repertoireDestination;
}
} else {
echo "Le fichier n'a pas été uploadé, fichier trop gros ?";
}
}
}
?>

Lien vers le commentaire
Partager sur d’autres sites

Plutôt que d'utiliser rename(), tu devrais plutôt utiliser move_uploaded_file()

bool move_uploaded_file ( string $filename, string $destination )

move_uploaded_file s'assure que le fichier filename est un fichier téléchargé par HTTP POST. Si le fichier est valide, il est déplacé jusqu'à destination .

Si filename n'est pas valide, rien ne se passe, et move_uploaded_file retournera FALSE .

Si filename est un fichier téléchargé, mais que pour une raison quelconque, il ne peut être déplacé, rien ne se passe, et move_uploaded_file retourne FALSE . De plus, une alerte sera affichée.

Ce type de vérification est spécialement important s'il est possible que les fichiers téléchargés révèlent leur contenu à l'utilisateur, ou même aux utilisateurs du même système.

Dan

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...