Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/10/2006, 18h47   #1
Invité de passage
 
Inscription : octobre 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 9
Points : 2
Points : 2
Par défaut [Upload] Probléme d'upload sous IE

Bonjour,
Voilà j'explique mon probléme, Je crée un site d'upload, mon script d'upload fonctionne bien sous FF, mais sous IE j'ai un prob pour l'extension des images dans l'url! genre sur FF ça mets "www.nomdusite.com/upload/1552.jpg" mais sous IE "www.nomdusite.com/upload/1552" . Mais l'extension est inexistant. Je ne vois pas le probléme! est-ce que qqun a deja eu ce probléme?

Merci,
UndrOath.
UndrOath est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 22h06   #2
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
En mettant le code ce sera plus facile de te venir en aide
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2006, 05h10   #3
Expert Confirmé
 
Avatar de Sub0
 
Homme
Inscription : décembre 2002
Messages : 3 468
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39

Informations forums :
Inscription : décembre 2002
Messages : 3 468
Points : 3 115
Points : 3 115
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
Salut et bienvenue dans les forums de Developpez.com !

Kerod a raison : Sans code, ça va être difficile de trouver l'erreur...
Tu peux éventuellement t'inspirer de cette exemple de script (FAQ) :
http://php.developpez.com/faq/?page=...ichiers_upload

à+
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2006, 16h48   #4
Invité de passage
 
Inscription : octobre 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 9
Points : 2
Points : 2
Bonjour,
Voilà le code! J'espére que vous allez trouver l'erreur !
Citation:
<?php
// ------------------------------------------------------------
// DEFINITION DES VARIABLES
// ------------------------------------------------------------

$target = "upload/"; // Repertoire cible
$target2 = "mini/"; // Repertoire cible
$max_size = 4194304; // Taille max en octets du image
$width_max = 2000; // Largeur max de l'image en pixels
$height_max = 2000; // Hauteur max de l'image en pixels

$extensions_ok = array("jpeg","jpg","gif","png","bmp");


//------------------------------------------------------------
// SCRIPT DE CHANGEMENT D`URL
//------------------------------------------------------------

if ($_FILES['image']['type'] == 'image/jpeg') { $extention = '.jpeg'; } { $extention2 = 'jpeg'; }
if ($_FILES['image']['type'] == 'image/jpg') { $extention = '.jpg'; } { $extention2 = 'jpg'; }
if ($_FILES['image']['type'] == 'image/png') { $extention = '.png'; } { $extention2 = 'png'; }
if ($_FILES['image']['type'] == 'image/gif') { $extention = '.gif'; } { $extention2 = 'gif'; }
if ($_FILES['image']['type'] == 'image/bmp') { $extention = '.bmp'; } { $extention2 = 'bmp'; }
$mini_name = time().$extention;
$nom_image = $target.time().$extention;
$mini = "mini";
$nom_imagemini = time().$mini.$extention;
$nom_imagemini2 = time().$mini.$extention;


//------------------------------------------------------------
// DEFINITION DES VARIABLES LIEES AU IMAGES
//------------------------------------------------------------

$nom_file = $_FILES['image']['name'];
$taille = $_FILES['image']['size'];
$tmp = $_FILES['image']['tmp_name'];
$chemin = $target.$_FILES['image']['tmp_name'];
$url = 'http://www.butterfly-party.com/fakupload/upload/' .$nom_image. '';
$url2 = '[url=http://www.butterfly-party.com/fakupload/upload/' .$nom_image. '][img]http://www.butterfly-party.com/fakupload/mini/' .$nom_imagemini2. '[/img][/url]';
$url3 = $target2 .$nom_imagemini2;
$url4 = 'http://www.butterfly-party.com/fakupload/' .$nom_image. '';
$url5 = '[url=http://www.butterfly-party.com/fakupload/][img]http://www.butterfly-party.com/fakupload/mini/' .$nom_imagemini2. '[/img][/url]';
$url6 = $target2 .$nom_imagemini2;

$extension = substr($nom_file,-3); // Récupération de l'extension


//------------------------------------------------------------
// SCRIPT DE CREATION DE MINIATURE
//------------------------------------------------------------


if ($_FILES['image']['type'] == 'image/jpeg')
{
$source = imagecreatefromjpeg($tmp); // La photo est la source
$destination = imagecreatetruecolor(100, 100); // On crée la miniature vide

// Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
$largeur_source = imagesx($source);
$hauteur_source = imagesy($source);
$largeur_destination = imagesx($destination);
$hauteur_destination = imagesy($destination);


// On crée la miniature
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);


// On enregistre la miniature
imagejpeg($destination, "/home/axel/public_html/fakupload/mini/" .$nom_imagemini);
imagedestroy($destination);
}

if ($_FILES['image']['type'] == 'image/png')
{
$source = imagecreatefrompng($tmp); // La photo est la source
$destination = imagecreatetruecolor(100, 100); // On crée la miniature vide

// Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
$largeur_source = imagesx($source);
$hauteur_source = imagesy($source);
$largeur_destination = imagesx($destination);
$hauteur_destination = imagesy($destination);

// On crée la miniature
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);

// On enregistre la miniature
imagepng($destination, "/home/axel/public_html/fakupload/mini/" .$nom_imagemini);
imagedestroy($destination);
}

if ($_FILES['image']['type'] == 'image/gif')
{
$source = imagecreatefromgif($tmp); // La photo est la source
$destination = imagecreatetruecolor(100, 100); // On crée la miniature vide

// Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
$largeur_source = imagesx($source);
$hauteur_source = imagesy($source);
$largeur_destination = imagesx($destination);
$hauteur_destination = imagesy($destination);

// On crée la miniature
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);

// On enregistre la miniature
imagegif($destination, "/home/axel/public_html/fakupload/mini/" .$nom_imagemini);
imagedestroy($destination);
}

if ($_FILES['image']['type'] == 'image/bmp')
{
$source = imagecreatefromwbmp($tmp); // La photo est la source
$destination = imagecreatetruecolor(100, 100); // On crée la miniature vide

// Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
$largeur_source = imagesx($source);
$hauteur_source = imagesy($source);
$largeur_destination = imagesx($destination);
$hauteur_destination = imagesy($destination);

// On crée la miniature
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);

// On enregistre la miniature
imagewbmp($destination, "/home/axel/public_html/fakupload/mini/" .$nom_imagemini);
imagedestroy($destination);
}


//------------------------------------------------------------
// SCRIPT D'UPLOAD
//------------------------------------------------------------

if($_POST['envoie'])
{

// On vérifie si le champ est rempli

if($_FILES['image']['tmp_name'])
{

// On vérifie l'extension du image

if(in_array(strtolower($extension),$extensions_ok))
{
// On récupère les dimensions du image

$infos_img = getimagesize($_FILES['image']['tmp_name']);

// On vérifie les dimensions et taille de l'image

if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($taille <= $max_size))
{
// Si c'est OK, on teste l'upload


if(move_uploaded_file($tmp,$nom_image))
{

// Si upload OK alors on affiche le message de réussite

echo '<h2>Validation de l\'upload</h2>
<p><a href="' . $url4 . '"><img src="' . $url6 . '" width="100" height="100" border="none" /></a><BR><BR>
Url de l\'image simple:<BR>
<input type="text" size="100" value=" ' . $url4 . '" />
<br /><br />Url pour les forums:<BR><input type="text" size="100" value="' . $url5 . '" /><br /></p>';


}
else
{

// Sinon on affiche une erreur système
echo '<h2>Erreur du System !</h2>
<p><font color="red"><img src="./utils/attention.gif" alt="attention" height="20" width="20"> Erreur du systéme veuillez contactez le <a href="index.php?page=contact">webmaster</a></font>
</p>';

}
}
else
{

// Sinon erreur sur les dimensions et taille de l'image
echo '<h2>Erreur de la dimension de l\'image</h2>
<p>
<font color="red"><img src="./utils/attention.gif" alt="attention" height="20" width="20"> Erreur de la dimension</font>
</p>';
}
}
else
{

// Sinon on affiche une erreur pour l'extension
echo '<h2>Erreur de l\'extension</h2>
<p><font color="red">
<img src="./utils/attention.gif" alt="attention" height="20" width="20"> Erreur de l\'extension</font>
</p>';

}
}
else
{

// Sinon on affiche une erreur pour le champ vide
echo '<h2>Erreur le champ est vide</h2>
<p><font color="red"><img src="./utils/attention.gif" alt="attention" height="20" width="20"> Erreur de le champ est vide</font>
</p>';
}
}

?>
UndrOath est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2006, 18h18   #5
Expert Confirmé
 
Avatar de Sub0
 
Homme
Inscription : décembre 2002
Messages : 3 468
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39

Informations forums :
Inscription : décembre 2002
Messages : 3 468
Points : 3 115
Points : 3 115
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
Il ya des balises BBCode dans ton code qui sont interprétées par le forum. J'ai remis en forme ton code en ajoutant la couleur "black" au balises [url] et [img]. Bref, là n'est pas le problème.


Tu récupères les 3 dernières lettres de l'extension...
Code :
$extension = substr($nom_file,-3); // Récupération de l'extension
Et le 1er élément de ton tableau en possède 4...
Code :
$extensions_ok = array("jpeg","jpg","gif","png","bmp");
Solution : Enlève le 1er élément de ce tableau ou modifie-le par "peg".
Ça devrait régler le problème je pense.
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2006, 19h30   #6
Membre habitué
 
Avatar de Cyberbob002
 
Inscription : mai 2003
Messages : 140
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 140
Points : 130
Points : 130
Ou sinon,

Code :
1
2
3
4

$pos = strrpos($nom_file, '.');
$extension = substr($nom_file, 0, $pos);
Cyberbob002 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2006, 09h01   #7
Invité de passage
 
Inscription : octobre 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 9
Points : 2
Points : 2
J'ai essayé les 2 mais rien ne fonctionne ...
UndrOath est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2006, 13h03   #8
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Essayes ceci : Comment séparer un nom de fichier de son extension ?
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2006, 13h21   #9
Invité de passage
 
Inscription : octobre 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 9
Points : 2
Points : 2
J'ai tout essayé mais rien ne fonctionne je désespére
UndrOath est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2006, 15h36   #10
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Je dirais que le problème vient de cette zone et non autre chose :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 //------------------------------------------------------------
//  SCRIPT DE CHANGEMENT D`URL
//------------------------------------------------------------

if ($_FILES['image']['type'] == 'image/jpeg') { $extention = '.jpeg'; } { $extention2 = 'jpeg'; }
if ($_FILES['image']['type'] == 'image/jpg') { $extention = '.jpg'; } { $extention2 = 'jpg'; }
if ($_FILES['image']['type'] == 'image/png') { $extention = '.png'; } { $extention2 = 'png'; }
if ($_FILES['image']['type'] == 'image/gif') { $extention = '.gif'; } { $extention2 = 'gif'; }
if ($_FILES['image']['type'] == 'image/bmp') { $extention = '.bmp'; } { $extention2 = 'bmp'; }
$mini_name      = time().$extention;
$nom_image      = $target.time().$extention;
$mini           = "mini";
$nom_imagemini  = time().$mini.$extention;
$nom_imagemini2 = time().$mini.$extention;


//------------------------------------------------------------
//  DEFINITION DES VARIABLES LIEES AU IMAGES
//------------------------------------------------------------

$nom_file   = $_FILES['image']['name'];
$taille     = $_FILES['image']['size'];
$tmp        = $_FILES['image']['tmp_name'];
$chemin     = $target.$_FILES['image']['tmp_name'];
$url        = 'http://www.butterfly-party.com/fakupload/upload/' .$nom_image. '';
$url2       = '[url=http://www.butterfly-party.com/fakupload/upload/' .$nom_image. '][img]http://www.butterfly-party.com/fakupload/mini/' .$nom_imagemini2. '[/img][/url]'; 
$url3       = $target2 .$nom_imagemini2;
$url4        = 'http://www.butterfly-party.com/fakupload/' .$nom_image. '';
$url5       = '[url=http://www.butterfly-party.com/fakupload/][img]http://www.butterfly-party.com/fakupload/mini/' .$nom_imagemini2. '[/img][/url]'; 
$url6       = $target2 .$nom_imagemini2;

$extension  = substr($nom_file,-3); // Récupération de l'extension
ALors en détails je comprends pas cette partie :
Code :
1
2
3
4
5
 if ($_FILES['image']['type'] == 'image/jpeg') { $extention = '.jpeg'; } { $extention2 = 'jpeg'; }
 if ($_FILES['image']['type'] == 'image/jpg') { $extention = '.jpg'; } { $extention2 = 'jpg'; }
 if ($_FILES['image']['type'] == 'image/png') { $extention = '.png'; } { $extention2 = 'png'; }
 if ($_FILES['image']['type'] == 'image/gif') { $extention = '.gif'; } { $extention2 = 'gif'; }
 if ($_FILES['image']['type'] == 'image/bmp') { $extention = '.bmp'; } { $extention2 = 'bmp'; }
surtout la partie en rouge.

Ensuite tu as omis de préciser qu'est-ce qui faisait obtenir cette url. Comment y arrives-tu ? A quelle partie du code elle correspond? C'est vague ta demande. pour récupérer l'extension, tous les codes donnés plus haut fonctionne très bien. donc ca vient de plus haut le problème.
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h18.


 
 
 
 
Partenaires

Hébergement Web