probleme avec Easyphp

Eléphant du PHP | 127 Messages

17 juil. 2006, 17:11

Bonjour à tous :D .
Voila j'ai un script d'uploade avec 4 champs input indépendants les uns des autres.
Mais voila le probleme c'est que ce script ne marche pas sur Easyphp alors que j'ai testé ce script sur un serveur free et il marche parfaitement.
Quand je test ce script sur easyphp aucune erreur ne m'est rapporté il y a juste la copie de l'image qui ne se fait pas et l'inscription du nom de l'image dans ma base de donnée qui se fait normalement uniquement si le fichier est copié se fait quand même.
Incompréhensible :shock: .
Merci.

Mammouth du PHP | 19672 Messages

17 juil. 2006, 19:07

Sans rien voir du code, difficile voire impossible de pointer l'erreur. Car c'est certain qu'il y a une erreur, même si elle n'est pas retournée.

Possibilités : édite ton php.ini et me le error_reporting à E_STRICT puis teste à nouveau.

Sinon, essaye de cerner l'endroit du code où ça bifurque vers la mauvaise direction en faisant afficher certaines variables par exemple jusqu'à ce que tu n'aies pas le retour attendu. En procédant logiquement, tu vas arriver à restreindre la zone de recherche et pouvoir nous indiquer une portion de code où on pourra éventuellement telever une erreur si tu la trouves pas avant nous.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 127 Messages

17 juil. 2006, 19:10

Oui mais comment ce fait-il que cela marche sur le serveur free aulieu que je ne change rien à mon code?

Mammouth du PHP | 19672 Messages

17 juil. 2006, 19:14

Probablement parce qu'à la base ta configuration est plus sévère sur ta propre machine, ce qui veut dire que certaines erreurs ne passent pas alors que sur un serveur de production, si la sécurité n'est pas négligée, d'autres paramètres sont désactivés et le contenu de certaines parties ne s'affichera tout simplement pas.

Dis-toi aussi que, dans cette optique, si ça fonctionne parfaitement sur ta machine, ça n'en fonctionnera que mieux sur un serveur de production.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 127 Messages

17 juil. 2006, 19:23

Merci bien. Je vais chercher où j'ai pu faire une erreur et je vous tient au courant.

Eléphant du PHP | 127 Messages

18 juil. 2006, 09:38

J'ai identifié le morceau de code ou sa flanche:
if(!isset($erreur))
{
$dest_fichier = basename($_FILES['photo']['name']);

//extension image prin
$point=strrpos($dest_fichier, ".");
if ($point)
{
$extension=substr ($dest_fichier, $point);
}
else
{
$extension =""; 
}
$date0=date("ymdhis");
$nouveau_nom = $date0.$extension;

$copie=move_uploaded_file($_FILES['photo']['tmp_name'],  $dest_dossier. $nouveau_nom);
	}
dans $copie si je remplace $nouveau_nom par $dest_fichier la copie se fait mais sinon la copie ne se fait pas.

Mammouth du PHP | 19672 Messages

18 juil. 2006, 19:13

En faisant afficher ces variables, obtiens-tu la valeur attendue ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 127 Messages

19 juil. 2006, 19:09

oui j'obtient toutes les valeurs attendues c'est ca qui m'étonne

Mammouth du PHP | 19672 Messages

19 juil. 2006, 19:11

Donc le problème est plus loin : continue dans le déroulement de ton script et essaye de cerner l'endroit où ça plante : à partir de là on pourra trouver ce qui cloche.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 127 Messages

19 juil. 2006, 19:13

oui je vais continuer la recherche

Eléphant du PHP | 127 Messages

20 juil. 2006, 10:35

J'ai vu que le probleme venait de la fonction date qui donne le nom à l'image.
En effet si je met Ymdhi sa marche mais si je met Ymdhis sa ne marche plus.
Ce qui est ennuyant pour n'avoir que des images avec des noms differents.
Mais le plus étonant c'est que j'utilise à peut près le même script sur une autre page pour uploader 4 images en même temps et là pas de probleme pour les nommer à la seconde près.
:shock: :shock: .

Eléphant du PHP | 127 Messages

20 juil. 2006, 10:59

En faite j'ai remarquer que la copie marchait très aléatoirement car enfaite même quand je donne un nom qui n'est pas à la seconde près ca marche 1 fois sur 2 ou 2 fois sur 3 pareil quand je donne un nom au hasard à mon image.
Le seul truc c'est que quand je veux donner un nom à la seconde près ca ne marche jamais.
Es-tu sûr que le probleme vient de mon script et pas de la configuration de Easy php.
Je rappelle que sur ma page j'ai 4 champs input indépendant les uns des autres c'est à dire que je fais les vérifications pour chacuns des champs.
Je précise ceci car sur une autre page j'ai fait un script avec 4 champs input non indépendants et ca marche parfaitement.
J'espere que je suis assez claire.
Merci pour ton aide.

Mammouth du PHP | 19672 Messages

20 juil. 2006, 19:15

Qu'est-ce que tu entends pas des champs "input dépendants" les uns des autres" au juste ? Sont-ils dans le même formulaire que le champ type file ? Et les valeurs s'y trouvant correspondent-elles à un élément du fichier à uploader ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 127 Messages

20 juil. 2006, 19:50

Les champs inputs de type file ne sont pas dans le même formulaire afin de pouvoire modifier la photo que l'on veut.
pour chaques champs inputs je fais toutes les vérifications.
Je ne comprend pas pourquoi desfois sa marche et d'autres non aulieu que je ne change rien au script.

Mammouth du PHP | 19672 Messages

20 juil. 2006, 20:14

Ha tiens donc, le loup sort du bois ... Donc tu utilises deux formulaires distincts : à ton avis, lorsque tu soumets un des formulaire, qu'arrive-t-il aux données de l'autre ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: