Erreur d'upload de fichiers

Petit nouveau ! | 7 Messages

13 août 2008, 11:29

Bonjour,

Depuis environ 2ans et demi, j'utilise un script d'upload qui marchait sans problème. le voilà d'ailleurs :
function upload2($the_file) {
 
	global $the_path;
	
	$w_sml = 130;
	$h_sml = 94;
	
	$the_file_tmp = $the_file['tmp_name'];
	$the_file_name = $the_file['name'];
	$tableau = @getimagesize($the_file['tmp_name']);
	
	$extension = substr($the_file_name, strrpos($the_file_name, "."));
	$dateheure = strftime("%d%m%y_%H%M%S");
	$mdp = MDP();
	$the_new_file_name = $dateheure . "_" .$mdp.$extension;
	
    if (!move_uploaded_file($the_file_tmp, $the_path . $the_new_file_name)) {
    	//echo "\n<b>Quelques choses ne fonctionnent pas : vérifier le chemin de la variable $path et les permissions du répertoire /upload (il doit être en CHMOD777</b>";
    } else {	
		chmod($the_path . $the_new_file_name, 0777);
		$src = imagecreatefromjpeg($the_path.$the_new_file_name);
		
		$im_sml = imagecreatetruecolor($w_sml, $h_sml);
        imagecopyresampled($im_sml, $src, 0, 0, 0, 0, $w_sml, $h_sml, $tableau[0], $tableau[1]);
        
		imagejpeg($im_sml, $the_path. 'sml_' .$the_new_file_name);
        return $the_new_file_name;
    }
}
Je l'utilise de cette manière :
upload2($_FILES['image1']);
Bien, le problème qui a surgis récemment est qu'il m'affiche un message d'erreur du genre :
Warning: move_uploaded_file(/home/site/public_html/upload/nom_du_fichier.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/site/public_html/lib/fonctions/fonctions.php on line 982

Warning: move_uploaded_file() [function.move-uploaded-file]: Unaible to move '/tmp/phpAWqUCD' to '/home/site/public_html/upload/nom_du_fichier.jpg' in /home/site/public_html/lib/fonctions/fonctions.php on line 982
La ligne 982 correspond à :
if (!move_uploaded_file($the_file_tmp, $the_path . $the_new_file_name)) {
Biensure, le répertoire '/upload' est en CHMOD 777. La version du PHP sur le serveur est : 5.2.6

Alors, d'où vient l'erreur ?

Cordialement.

ViPHP
ViPHP | 5924 Messages

13 août 2008, 13:17

Euh, il faudrait déjà que tu dises ce que tu as fait pour qu'il ne marche plus...

Petit nouveau ! | 7 Messages

13 août 2008, 14:15

Salut,

Rien du tout, j'ai rien changé du côté du script. Je soupçonne qu'après le changement de la version du serveur "de 4.x.x à 5.x.x", c'est ce que je doute !

Ou bien est-il possible que le dossier "upload" n'accepte plus de fichiers supplémentaires vu qu'il contient 1947 images ? :?:

Je vais tester de changer le le dossier "upload" par un autre vide.

ViPHP
ViPHP | 5924 Messages

13 août 2008, 19:49

Rien du tout, j'ai rien changé du côté du script. Je soupçonne qu'après le changement de la version du serveur "de 4.x.x à 5.x.x", c'est ce que je doute !
La version du serveur ? Quel serveur ? PHP ?

Petit nouveau ! | 7 Messages

26 août 2008, 11:27

Bonjour et désolé pour mon retard,

Mon problème a été résolu, je vous explique :

L'hébergement du site a été mis dans un autre serveur sans me prévenir. De se fait, moi je pointé sur un autre compte FTP et celui là m'indiquai que les permissions sur les dossiers sont bons. Aussi la personne qui a changé de serveur a oublié de changer les permissions sur les dossiers de celui là (c'était pas moi :wink:).

Comment j'ai pu savoir cela :

L'autre personne était en congé, alors je savais pas encore du changement. Je me suis destiné vers le Directeur clientèle pour lui informer que cela va durer qlq temps. Alors il m'a dis qu'il se peut que le site soit hébergé sur un autre serveur. De se fait, j'ai fais un PING sur le site, et l'adresse IP ne correspondait pas à celle que j'ai. Je l'ai seulement changé dans l'application FTP et hop. J'ai pu alors changer de permission et ça à fonctionner.

Merci pour votre aide.

@ Truc : C'était un oubli, désolé pour le [Résolu]
Modifié en dernier par shinigami le 27 août 2008, 11:01, modifié 1 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

26 août 2008, 12:58

Modération :
shinigami, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute