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 01/08/2007, 14h31   #1
Membre habitué
 
Avatar de dream_of_australia
 
Inscription : juin 2007
Messages : 167
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juin 2007
Messages : 167
Points : 104
Points : 104
Par défaut [Upload] Upload de photo : c'est une autre qui s'enregistre

Bonjour tout le monde,

Alors voilà j'ai un formulaire qui me permet d'ajouter ou de supprimer une photo du serveur.

Seulement lorsque je supprime une photo et que je veux en uploader une autre, au lieu de prendre le fichier sur mon ordi il prend l'ancienne photo (qui pourtant n'apparaît plus sur le serveur après la suppression !!).

Mon code de suppression :
Code :
1
2
3
4
5
if (isset($_POST["supprimer"]) && !empty($_POST["supprimer"])) {
	$id = $_POST["idphoto1"] ;
	$chemin = "../photos/".$id."_1.jpg" ;
	unlink($chemin) ;
}
Mon code d'upload (un peu long car je compresse l'image) :
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
if (isset($_POST["envoyer"]) && !empty($_POST["envoyer"])) {
	$id = $_POST["idphoto2"] ;
	if(!empty($_FILES["fichier"]["name"])) {
		$nomFichier    = $_FILES["fichier"]["name"] ;
		$nomTemporaire = $_FILES["fichier"]["tmp_name"] ;
		$typeFichier   = $_FILES["fichier"]["type"] ;
		$poidsFichier  = $_FILES["fichier"]["size"] ;
		$codeErreur    = $_FILES["fichier"]["error"] ;
		$chemin = "../photos/".$id."_" ;
		$photoannonce = $chemin . "1.jpg" ;
		if(copy($nomTemporaire, $chemin.$nomFichier)) {
			$url_img=$chemin.$nomFichier;
			list($imx, $imy, $type, $attr) = getimagesize($url_img);
			$ims=imagecreatefromjpeg ($url_img); 
			$ratiox=$imx/1024; 
			$ratioy=$imy/768;
			if($ratioy>$ratiox) {
				$imd=imagecreatetruecolor (($imx/$ratioy),($imy/$ratioy));
				imagecopyresampled ($imd,$ims,0,0,0,0, ($imx/$ratioy),($imy/$ratioy),$imx,$imy);
			}
			else { 
				$imd=imagecreatetruecolor (($imx/$ratiox),($imy/$ratiox));
				imagecopyresampled ($imd,$ims,0,0,0,0, ($imx/$ratiox),($imy/$ratiox),$imx,$imy);
   			} 
			imagejpeg($imd,$photoannonce,80);
			imagedestroy($ims);
			imagedestroy($imd);
			unlink($url_img);
		}
	}
}
Quelques précisions :
_ la photo uploadée s'enregistre sous le nom id_1.jpg
_ le problème n'apparaît qu'avec certains ids (et pourtant lorsque je parcours le dossier dans le serveur je ne vois aucun souci)
_ le script de compression ne vient pas de moi mais je suis obligée de l'utiliser (c'est mon patron qui veut...)

Est-ce que quelqu'un aurait une idée ? S'agirait-il par exemple d'un problème de mémoire (les photos sont énormes, plusieurs megas...) ?

Merci à ceux qui prendront le temps de me lire !!
dream_of_australia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2007, 15h00   #2
Membre actif
 
Homme
Développeur Web
Inscription : juillet 2007
Messages : 194
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juillet 2007
Messages : 194
Points : 189
Points : 189
Tu fais une copie de l'image que tu upload du fichier temporaire vers ton fichier de travail.
L'erreur viendrait peut être du fait qu'il n'arrive pas écraser l'image déjà existante dans le /tmp au moment de l'upload. Du coup tu utilise toujours la même image qui est dans /tmp

Essaye:
- soit de remplacer copy par move_uplaod_file
- soit un unlink("/tmp/".$nomTemporaire);

A part ça je ne vois ce qui merde, le reste à l'air bien.
metfan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 10h25   #3
Membre habitué
 
Avatar de dream_of_australia
 
Inscription : juin 2007
Messages : 167
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juin 2007
Messages : 167
Points : 104
Points : 104
Merci metfan, je vais essayer ça.
dream_of_australia est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h05.


 
 
 
 
Partenaires

Hébergement Web