OVH Community, votre nouvel espace communautaire.

Upload d'images en PHP


RaphAstronome
24/01/2007, 10h24
Bonjour,

Si c'est pour votre page d'admin ça va mais pour les utilisateurs :

Vous oubliez de vérifier que le fichier uploadé est bien une image.
if(!@getimagesize($_FILES['fichier']['tmp_name']))
{ die('C'est pas une image !.'); }

Et n'oublier pas d'imposer l'extension .jpg et un nom de fichier propre (pas d'accent et de symboles spéciaux comme "*" ou "?") et qu'il n'existe pas déjà.

Ne pas hésiter a changer totalement le nom (type "img4856.jpg")

kablumy-kablumy
16/01/2007, 01h15
Je ne suis pas très doué en PHP mais voici le code que j'utilise. Il marche sans problème.


$nom = $_POST['nom'];

require_once("utilitaires/execrequete.php");
if(is_uploaded_file($_FILES['maPhoto']['tmp_name'])) {
".$_FILES['maPhoto']['tmp_name']."
";
$ext = $_FILES['maPhoto']['type'];

if(ereg("jpg",$ext)) {
copy($_FILES['maPhoto']['tmp_name'],"images/".$nom.".jpg");
echo "Fichier transféré avec succès
\n";
}
elseif(ereg("jpeg",$ext)) {
copy($_FILES['maPhoto']['tmp_name'],"images/".$nom.".jpg");
echo "Fichier transféré avec succès
\n";
}
else {
echo "Vous devez mettre du jpg
\n";
}
}

else {
echo "Aucun fichier n'a été choisi !
\n";
}

?>

maximev
03/12/2006, 20h47
Bonjour,

J'utilise le code suivant pour uploader des images:

$content_dir = 'images/agenda/';
$tmp_file = $_FILES['NomFichier']['tmp_name'];
$name_file = $_FILES['NomFichier']['name'];
if (!move_uploaded_file($tmp_file, $content_dir . $name_file)){
$photo2='';
}else{
...
}

Mais cela ne fonctionne pas sous Internet Explorer mais bien sous Firefox.

Je suis sur un Start1g pour le moment.

Est-ce que quelqu'un peut m'expliquer comment faire?

Merci