Problème de script d'upload

Fermé
Potter60 Messages postés 43 Date d'inscription dimanche 1 juin 2008 Statut Membre Dernière intervention 13 octobre 2009 - 31 juil. 2008 à 18:26
balou01 Messages postés 83 Date d'inscription mardi 26 juin 2007 Statut Membre Dernière intervention 3 décembre 2014 - 15 août 2008 à 12:12
Bonjour,

J'ai des problèmes avec un script d'upload d'images.
J'ai trouvé ce script sur Google et est entièrement modifiable. ;)

J'ai fais quelques tests moi même et il marche bien.
Je le fais tester à qq'un d'autre, il marche mal :(

Voici le script :

<html>
<head><title>Multi-Upload : Uploadez vos images</title></head>
<body>
<?php
$poids_max = 512000; // Poids max de l'image en octets (1Ko = 1024 octets)
$repertoire = 'uploads/'; // Repertoire d'upload
if (isset($_FILES['fichier']))
{

// On vérifie 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érifie le poids de l'image
elseif ($_FILES['fichier']['size'] > $poids_max)
{
$erreur = 'L\'image doit être inférieur à ' . $poids_max/1024 . 'Ko.';
}

// On vérifie 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 = '.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://multiupload.olympe-network.com/'.$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.';
}

}

}
else
{
?>
<form method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $poids_max; ?>">
<input type="file" name="fichier">
<input type="submit" value="Envoyer">
</form>
<?php
}
?>


Merci de votre aide :)

Cordialement,
Potter60
A voir également:

13 réponses

Potter60 Messages postés 43 Date d'inscription dimanche 1 juin 2008 Statut Membre Dernière intervention 13 octobre 2009 14
9 août 2008 à 13:23
Désolé de mon retard...

Bon Olympe-Network m'a viré de sa plateforme d'hébergement gratuit donc je ne pourrais pasvous donner le lien que le script me donne lorsque j'héberge une image.

Donc je cherche un hébergeur qui accepte le stockage de fichiers...
0
balou01 Messages postés 83 Date d'inscription mardi 26 juin 2007 Statut Membre Dernière intervention 3 décembre 2014 2
31 juil. 2008 à 18:29
si tu pouvais nous dire en quoi il "fonctionne mal"... Ca nous aiderais pas mal a ciblé l'endroit ou le code est a changer !
-1
Potter60 Messages postés 43 Date d'inscription dimanche 1 juin 2008 Statut Membre Dernière intervention 13 octobre 2009 14
31 juil. 2008 à 18:53
Salut,

Voici mes problèmes :

le 1er : Mon père a essayé mon script avec une image .jpeg mais ça ne l'a pas reconnu alors que ce format est autorisé.
le 2ème : Mon père à essayé un GIF et ça l'a transformé en .ICO quand il l'a uploadé.

Voilà ;)
-1
balou01 Messages postés 83 Date d'inscription mardi 26 juin 2007 Statut Membre Dernière intervention 3 décembre 2014 2
31 juil. 2008 à 21:01
Bon alors pour ce qui est du "refus du format de l'image" je ne voit rien de choquant si ce n'est que dans
// On vérifie 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')
{


tu mets plusieur fois le meme type de fichier et ca ce n'est pas top...

Pour etre plus propre remplace par ca :
$array_type = array('image/png','image/jpeg', 'image/jpg', 'image/gif', 'image/bmp', 'image/ico');
// On vérifie le type du fichier
if (!in_array($_FILES['fichier']['type'], $array_type))
{


Ca sera beaucoup plus clair ! ;)


Pour ce qui est du gif qui se transforme en .ico c'est assez normal avec ca :
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.gif'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.bmp'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.png'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.ico'; }


Si ton type d'image est reconnu comme un .gif alors ton script php va successivement faire passer le format de ton image en .gif, .bmp, .png et .ico.

Donc forcement toutes tes gif qui seront uploadé resortiront avec l'extension .ico

Au passage tout tes .jpeg doivent ressortir dans le format .jpg :
if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpeg'; }
if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpg'; }


Donc voila pour arranger tout ca il faut remplacer ca :
// 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 = '.png'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.ico'; }



Par ca :
// 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/jpg') { $extention = '.jpg'; }
if ($_FILES['fichier']['type'] == 'image/png') { $extention = '.png'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.gif'; }
if ($_FILES['fichier']['type'] == 'image/bmp') { $extention = '.bmp'; }
if ($_FILES['fichier']['type'] == 'image/png') { $extention = '.png'; }
if ($_FILES['fichier']['type'] == 'image/ico') { $extention = '.ico'; }



A mon avis tu as fait un copier coller et tu as oublié de remplace certaines extensions...
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Potter60 Messages postés 43 Date d'inscription dimanche 1 juin 2008 Statut Membre Dernière intervention 13 octobre 2009 14
31 juil. 2008 à 22:38
J'ai fais les modifications mais j'ai un gros problème !

Je peux plus lire les GIF et JPEG :(

J'ai regardé dans le script l'url et elle est bonne.
-1
balou01 Messages postés 83 Date d'inscription mardi 26 juin 2007 Statut Membre Dernière intervention 3 décembre 2014 2
1 août 2008 à 17:38
Comment ca tu ne peux plus les lire ?
-1
Potter60 Messages postés 43 Date d'inscription dimanche 1 juin 2008 Statut Membre Dernière intervention 13 octobre 2009 14
1 août 2008 à 19:18
Ben j'ai essayé d'uploader un fichier JPEG ( extension .jpg ), ça a marché mais quald j'essaye de la lire, j'ai un "Forbidden" :(

Pareil pour le GIF.
-1
balou01 Messages postés 83 Date d'inscription mardi 26 juin 2007 Statut Membre Dernière intervention 3 décembre 2014 2
2 août 2008 à 15:53
et est ce que ton image est bien uploadé sur le serveur ??? et avec la bonne extension ?
-1
Potter60 Messages postés 43 Date d'inscription dimanche 1 juin 2008 Statut Membre Dernière intervention 13 octobre 2009 14
3 août 2008 à 00:37
Oui mon image est bien uploadé sur le serveur avec la bonne extension ;)

J'ai réesayé avec le même GIF et JPEG et toujours ce "Forbidden" :(
-1
balou01 Messages postés 83 Date d'inscription mardi 26 juin 2007 Statut Membre Dernière intervention 3 décembre 2014 2
3 août 2008 à 21:34
Alors c'est que ton lien est mal formaté....

Va dans ton ftp et regarde le lien qui permet d'atteindre ton image, compare le avec celui que te donne le script si il ne sont pas identique modifie ton script de manière a obtenir la meme url que celle que tu souhaite pour atteindre ton image ! ;)

Voila tout !

Si tu veux tu peux me donner le lien souhaité de ton image et celui que tu obtient j'irai voir ce que je peut faire au niveau du script ! ;)
-1
Potter60 Messages postés 43 Date d'inscription dimanche 1 juin 2008 Statut Membre Dernière intervention 13 octobre 2009 14
4 août 2008 à 14:21
Le lien où l'image est uploadé est bon car j'y arrive à entrer.

Je ne comprend pas ta dernière phrase :S
-1
balou01 Messages postés 83 Date d'inscription mardi 26 juin 2007 Statut Membre Dernière intervention 3 décembre 2014 2
4 août 2008 à 18:11
hé bein si tu n'arrive pas a atteindre l'image par le lien que le script te donne c'est que celui ci est erroné...

Donc upload une image et donne moi le lien que te renvoi le script une fois que tu as uploadé ton image
-1
balou01 Messages postés 83 Date d'inscription mardi 26 juin 2007 Statut Membre Dernière intervention 3 décembre 2014 2
15 août 2008 à 12:12
Il y en a a la pelle !!

A toi de trouver celui qui répondra le mieu a ce que tu souhaite faire !
-1