Alors voila j'ai trouvé un script qui permet d'upload des images sur mon site, j'ai testé sous firefox, il marche très bien.
Mais Sous Internet Explorer il ne marche pas du tout, il me dit que le fichier est non valide, je pense que c'est IE lorsqu'il met le fichier en temporaire, ce n'est pas une extension reconnue alors je vous donne mon code:
<?php
$poids_max = 3000000; // poid max
$repertoire = 'kart/'; // Repertoire d'upload
if (isset($_FILES['fichier']))
{
// On vérifit le type du fichier
if ($_FILES['fichier']['type'] != 'image/png' && $_FILES['fichier']['type'] != 'image/jpeg' && $_FILES['fichier']['type'] != 'image/jpg' && $_FILES['fichier']['type'] != 'image/gif' && $_FILES['fichier']['type'] != 'image/bmp' && $_FILES['fichier']['type'] != 'image/jpg' && $_FILES['fichier']['type'] != 'image/png' && $_FILES['fichier']['type'] != 'image/ico')
{
$erreur = 'Le fichier doit être au format *.jpeg, *.bmp, *.jpg, *.png, *.ico *.gif ou *.png .';
}
// On vérifit le poids de l'image
elseif ($_FILES['fichier']['size'] > $poids_max)
{
$erreur = 'L\'image doit être inférieur à ' . $poids_max/1024 . 'Ko.';
}
// On vérifit si le répertoire d'upload existe
elseif (!file_exists($repertoire))
{
$erreur = 'Erreur, le dossier d\'upload n\'existe pas.';
}
// Si il y a une erreur on l'affiche sinon on peut uploader
if(isset($erreur))
{
echo '' . $erreur . '<br><a href="javascript:history.back(1)">Retour</a>';
}
else
{
// On définit l'extention du fichier puis on le nomme par le timestamp actuel
if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpeg'; }
if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpg'; }
if ($_FILES['fichier']['type'] == 'image/png') { $extention = '.png'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.gif'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.bmp'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.jpg'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.png'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.ico'; }
$nom_fichier = time().$extention;
// On upload le fichier sur le serveur.
if (move_uploaded_file($_FILES['fichier']['tmp_name'], $repertoire.$nom_fichier))
{
$url = 'http://tothedeath.ath.cx/'.$repertoire.''.$nom_fichier.'';
echo 'Votre image à été uploadée sur le serveur avec succes!<br>Voici le lien: <input type="text" value="' . $url . '" size="60">';
}
else
{
echo 'L\'image n\'a pas pu être uploadée sur le serveur.';
}
$_FILES['fichier']['type'] te renverra "pjpeg" normalement :)
Voila pourquoi avec IE tu obtiens un message d'erreur.
Pour en etre sur, fais un echo $_FILES['fichier']['type']; et tu connaitra le type du ficihier.
Ensuite tu n'aura plus qu'a la rajouter a tes conditions :)
Trouvez des réponses à vos questions sur la création de sites web, le référencement et les meilleures pratiques pour gérer un site. Échangez avec d'autres webmasters passionnés pour améliorer vos compétences en ligne et optimiser vos projets de site web.
27 févr. 2008 à 18:27
$_FILES['fichier']['type'] te renverra "pjpeg" normalement :)
Voila pourquoi avec IE tu obtiens un message d'erreur.
Pour en etre sur, fais un echo $_FILES['fichier']['type']; et tu connaitra le type du ficihier.
Ensuite tu n'aura plus qu'a la rajouter a tes conditions :)
A+