Probleme d upload de photo

Eléphanteau du PHP | 32 Messages

16 sept. 2010, 13:56

Bonjour
j'espere que quelqu un pourra m aider car je n en peux plus : )
j'ai mis en place un formulaire avec upload de fichier
une fonction qui cree un nouveau dossier dans un repertoire photo
l ajout et la modification marchaient tres bien en local avec wamp/...
mais depuis qui j ai mis sur mon serveur rien n y fait... aucun dossier n est cree et du coup aucune photo n est uploader
par contre sur ma base de donnee sql, le chemin et le nom de l image s enregistre bien

si quelqu un pourrait m aider

MERCI

Mammouth du PHP | 686 Messages

16 sept. 2010, 14:06

Quel est ton hébérgeur ?

Eléphanteau du PHP | 32 Messages

16 sept. 2010, 14:10

Selfserveur
je les ai contactes ils m ont dit de mettre le chmod en 777 , ce que j ai fait pour le dossier photo et pour les fonction.php d'upload...
mais ca ne change rien :(

Mammouth du PHP | 686 Messages

16 sept. 2010, 14:16

essaie de rajouter $_SERVER['DOCUMENT_ROOT'] avant le dossier a creer ainsi que pour l'uplaod de la photo

Eléphanteau du PHP | 32 Messages

16 sept. 2010, 14:49

je l ai rajouter avant la fonction de l upload... mais ca ne donne rien...
peut etre m y suis je mal pris...

voila un bout du code si ca peut aider... en tout cas merci pour ton aide :



<?php
$destination = "../photo/";
function upload($index,$destination,$maxsize=FALSE,$extensions=FALSE)
{
//Test1: fichier correctement uploadé
if (!isset($_FILES[$index]) OR $_FILES[$index]['error'] > 0) return FALSE;
//Test2: taille limite
if ($maxsize !== FALSE AND $_FILES[$index]['size'] > $maxsize) return FALSE;
//Test3: extension
$ext = substr(strrchr($_FILES[$index]['name'],'.'),1);
if ($extensions !== FALSE AND !in_array($ext,$extensions)) return FALSE;
//Déplacement
return move_uploaded_file($_FILES[$index]['tmp_name'],$destination);
}

//EXEMPLES
mkdir("../photo/$dossier", 777);
$upload1 = upload("photo01","../photo/$dossier/$photo1",10485760, array('png','gif','jpg','jpeg') );
$upload2 = upload("photo02","../photo/$dossier/$photo2",10485760, FALSE );
?>

Eléphant du PHP | 50 Messages

16 sept. 2010, 15:14

Bonjour,

Il faudrait mettre l'affichage d'erreur et de warning au maximum et nous dire quelles erreurs s'affichent.

Eléphanteau du PHP | 32 Messages

16 sept. 2010, 15:26

ah je vois...
en fait je suis un peu novice on va dire :)))
j'apprends j'apprends : )

mais du coup je ne sais pas comment faire pour faire afficher les erreurs ???

Mammouth du PHP | 686 Messages

16 sept. 2010, 17:05

Essai avec ca
<?php
$destination = $_SERVER['DOCUMENT_ROOT']."photo/";
function upload($index,$destination,$maxsize=FALSE,$extensions=FALSE)
{
//Test1: fichier correctement uploadé
if (!isset($_FILES[$index]) OR $_FILES[$index]['error'] > 0) return FALSE;
//Test2: taille limite
if ($maxsize !== FALSE AND $_FILES[$index]['size'] > $maxsize) return FALSE;
//Test3: extension
$ext = substr(strrchr($_FILES[$index]['name'],'.'),1);
if ($extensions !== FALSE AND !in_array($ext,$extensions)) return FALSE;
//Déplacement
return move_uploaded_file($_FILES[$index]['tmp_name'],$destination);
}

//EXEMPLES
mkdir($_SERVER['DOCUMENT_ROOT']."photo/$dossier", 777);
$upload1 = upload("photo01",$_SERVER['DOCUMENT_ROOT']."photo/$dossier/$photo1",10485760, array('png','gif','jpg','jpeg') );
$upload2 = upload("photo02",$_SERVER['DOCUMENT_ROOT']."photo/$dossier/$photo2",10485760, FALSE );
?>

Eléphanteau du PHP | 32 Messages

16 sept. 2010, 18:25

Merci pour le code...

je viens d'essayer avec, mais rien n'y fait ca ne cree ni dossier ni ne fait l upload de la photo...

je suis dans la merde : ))))

en plus ca marchait nikel en local l'ajout et meme la modification...

mais la je ne vois vraiment pas

helllllpppppp :)

Eléphant du PHP | 50 Messages

17 sept. 2010, 09:13

mais du coup je ne sais pas comment faire pour faire afficher les erreurs ???
haut de ton code :
error_reporting(E_ALL | E_STRICT);
ini_set("display_errors", 1);

Eléphanteau du PHP | 32 Messages

17 sept. 2010, 09:43

Merci pour ton aide Dev
genial le code erreur

voila ce que ca me dit du coup

Warning: mkdir() [function.mkdir]: SAFE MODE Restriction in effect. The script whose uid is 10011 is not allowed to access /var/www/vhosts/blabla.com owned by uid 0 in /var/www/vhosts/blabla.com/httpdocs/adm/receptionbien.php on line 122

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to access /var/www/vhosts/blabla.com/httpdocsphoto/verif01/ash01.jpg in /var/www/vhosts/blabla.com/httpdocs/adm/receptionbien.php on line 118

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to access /var/www/vhosts/blabla.com/httpdocsphoto/verif01/ash02.jpg in /var/www/vhosts/blabla.com/httpdocs/adm/receptionbien.php on line 118

Eléphanteau du PHP | 32 Messages

17 sept. 2010, 11:38

j'ai essaye d'arranger en fonction du code erreur que je recoit

et maintenant ca me donne ca :

Warning: move_uploaded_file() [function.move-uploaded-file]: SAFE MODE Restriction in effect. The script whose uid is 10011 is not allowed to access /var/www/vhosts/blablabla.com/httpdocs/photo/verif06 owned by uid 48 in /var/www/vhosts/blablabla.com/httpdocs/adm/receptionbien.php on line 118

Warning: move_uploaded_file() [function.move-uploaded-file]: SAFE MODE Restriction in effect. The script whose uid is 10011 is not allowed to access /var/www/vhosts/blablabla.com/httpdocs/photo/verif06 owned by uid 48 in /var/www/vhosts/blablabla.com/httpdocs/adm/receptionbien.php on line 118


je ne sais plus quoi trop faire :(

Mammouth du PHP | 19672 Messages

17 sept. 2010, 22:02

Quelle taille de fichier ton serveur accepte-t-il en upload ? par défaut, la configuration Apache est limitée. Avec les appareils numériques actuels, on fait facilement des fichiers d'une taille tout à fait respectable qui malheureusement dépassent cette limite.

Vérifie donc ce point avant de chercher des défauts dans le code lui-même.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 32 Messages

18 sept. 2010, 20:49

Cyrano...
oui je n ai pas specialement verifier ce point
mais en ce moment je fais des test avec des images de 30ko a peu pres... des icones etc... donc je ne pense pas que ce soit le probleme

mais si quelqu un peut m aider ... car vraiment je suis total dans la merde

MERCIIIIIIII :) :) :) :)

Mammouth du PHP | 19672 Messages

18 sept. 2010, 22:48

Alors vérifie les droits sur les répertoires utilisés. Si tu modifies ces droits, il faut penser à le faire de façon récursive pour que les sous-répertoires subissent la même modification.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: