Erreur Mkdir & move_uploaded_file (erreur de chemin?)

Eléphanteau du PHP | 10 Messages

10 juin 2009, 15:02

Bonjour à tous,


Alors voilà le principe, j'ai un site de vente de produits.J'ai donc codé une console admin pour ajouter des produits sur le site.Et j'ai un souci quand je veux ajouter un produit.

Donc voilà les erreurs :

Warning: mkdir() [function.mkdir]: Permission denied in /home/theluxur/public_html/admin.php on line 30

Warning: move_uploaded_file(images/maison/qsd.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/theluxur/public_html/admin.php on line 35

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpfKNMtM' to 'images/maison/qsd.jpg' in /home/theluxur/public_html/admin.php on line 35


Et voici le code correspondant à l'erreur :

if (isset($_POST['Ajouter']))[size=9] // Ici je teste si l'admin clique sur "ajouter" pour ajouter un produit[/size]
	{	
		if (is_dir ( 'images/'.$_POST['categorie'] ) == False)  [size=9]//ici je regarde si le dossier correspondant à la catégorie de l'objet existe[/size]
		{ [/size]
			mkdir ("images/".$_POST['categorie']);[size=9]//si il n'existe pas je le créé.
		}
		
		if(move_uploaded_file($_FILES['image']['tmp_name'], 'images/'.$_POST['categorie'].'/'.$_POST['nom'].'.jpg')) [size=9] //ici je déplace mon image de la BDD vers le FTP.[/size]
		{
			$sql = "INSERT INTO ".$_POST['categorie']." VALUES ('".$_POST['nom']."','".$_POST['prix']."','".$_POST['description']."','".$_POST['nom'].".jpg','".$_POST['intro_description']."');";
			mysql_query($sql) or die ($sql);  //et je l'insère dans la BDD.
		}
	}

J'ai oublié de préciser que ça marchait avant que je change d'hébergeur! Et que parfois l'erreur mkdir change (?) en : Warning: mkdir() [function.mkdir]: No such file or directory in /home/theluxur/public_html/admin.php on line 30.

J'ai testé mes chemins vers l'image et ils ont l'air bons!


Merci d'avoir pris le temps de me lire et de m'aider ;)

ViPHP
ViPHP | 1136 Messages

10 juin 2009, 15:09

Slt ,

Pourtant les warning parlent d'eux même !
Warning: mkdir() [function.mkdir]: Permission denied in /home/theluxur/public_html/admin.php on line 30
T'as pas les droits d'écrire à l'endroit spécifié à ta ligne 30!

Warning: mkdir() [function.mkdir]: No such file or directory in /home/theluxur/public_html/admin.php on line 30
Le chemin spécifié à ta ligne 30 es introuvable !

Donc dans un premier temps , vérifies tes droits ( propriétaires et groupes des répertoires concernés )

Ch.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

10 juin 2009, 15:17

Modération :
tyrants, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 10 Messages

10 juin 2009, 15:18

Oui je suis d'accord mais le problème c'est que j'avais déjà vérifié!
J'ai bien tous les droits et mon chemin d'accès a l'air OK, je l'ai testé avec une balise img src et l'image s'affiche nickel.

D'accord Zeus merci, je ferrais attention la prochaine fois, désolé.

ViPHP
ViPHP | 1136 Messages

10 juin 2009, 15:22

Quelles sont exactement tes lignes 30 et 35 ?

Eléphanteau du PHP | 10 Messages

10 juin 2009, 15:24

Ligne 30 :
	mkdir ("images/".$_POST['categorie']); 
Et ligne 35 :
 if(move_uploaded_file($_FILES['image']['tmp_name'], 'images/'.$_POST['categorie'].'/'.$_POST['nom'].'.jpg')) 


Je viens de me rendre compte de quelque chose d'intéressant, sachant que j'ai un produit ajouté je voulais vérifier que celui-ci marchait toujours.
Et surprise l'image de ce produit ne se "resize" plus :
Warning: getimagesize(../images/grands_crus/Liq_9C_boite.jpg) [function.getimagesize]: failed to open stream: No such file or directory in /home/theluxur/public_html/include/delices_sucres.php on line 54

Ligne 54 :
$size=getimagesize("../images/".$_GET['page']."/".$lalala['image']);
Très étrange car cela marchait Lundi oO,et je n'ai pas touché à ce fichier.php j'ai l'impression qu'il ne trouve plus le chemin de certains dossiers sur le ftp!?


C'est fou ça pour mon getimagesize je viens de faire un <img src="../images/grands_crus/Liq_9C_boite.jpg"> et l'image s'affiche nickel donc le chemin est bon.

J'y comprend plus rien.

Eléphanteau du PHP | 10 Messages

12 juin 2009, 18:00

Bon j'ai recodé toute la partie upload en m'aidant d'une source trouvée sur le net qu'un Anglais avait codé (merci à lui).Et ça marche!

Si quelqu'un veut en savoir plus sur cette méthode d'upload, écrivez-moi!

Bon week-end à tous !