jesbond
Messages postés18Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention 1 juin 2005
-
30 mai 2005 à 14:54
jesbond
Messages postés18Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention 1 juin 2005
-
31 mai 2005 à 16:21
Bonjour je suis débutant
jutilise easyphp 1.6
je narrive pas a uploader limage qd je ve creer une nouvelle fiche client :(
qd je clik sur parcourrir je selectionne une image , mais un message prédéfinis que jai tapé ds mon code saffiche....
Je comprends rien , je c pas quoi faire, jai deja essayé differentes choses mais voila...sa marche pas.
aidez moi svp, jai pas envie d'abandonner tt de suite.
QU'est ce qui ne va pa ?
<?php
include("inc_connect.php");
$conn= connexion();
if ($conn!=0)
{
echo"
<center>RESULTAT</center>
";
$taille=filesize($fichier);
if ($fichier!='none') //verifie : l'utilisateur a bien envoyer un fichier
{
if($taille<200000) //limite la taille du doc
{
$nom_vrai=$HTTP_POST_FILES['fichier']['name']; //nom d'origine du fichier
$point=strrpos($nom_vrai,"."); //recupere la position du dernier point verifi l'existance de l'extention
if($point)//il y a une extention
{
echo"
<center>Nom du fichier téléchargé : ".$nom_vrai."</center
";
}
else //pas d'extention donc : on crée l'extention
{
$extention ='.gif';
$nom_vrai=$nom_vrai.$extention;
echo"
<center>Aucune extention reconnue!";
echo"
Modification sur fichier : enregistrement du fichier au format gif.";
echo"
Il est possible que la lecture du fichier soit impossible</center>";
}
<center>Fichier déjà existant ! ";
}
if(@move_uploaded_file($fichier,$nouveau_nom)) //move_uploaded (nom du fichier tempo, fichier destinataire) : copie/transfert
{
$req="UPDATE intervenant set photo_prof='$nouveau_nom' where num_prof=$num";
$res=mysql_db_query("formapro",$req,$conn);
if ($res==0)
{
echo"
<center>Echec Enregistrement du fichier !
";
echo"
<center>Réessayer</center>
";
}
else
{
echo"
<center>Transfert du fichier réussi !";
echo"
Nom : ".$nouveau_nom;
echo"
Taille : ".$taille."</center>";
echo"
<center>Visionner la fiche maintenant</center>
";
}
}
else
{
echo"
<center>Le fichier n'a pu être copié</center>
";
echo"
<center>réessayer</center>";
}
}
else
{
echo"
<center>Ce fichier est trop grand. Son envoi est refusé</center>
";
echo"
jesbond
Messages postés18Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention 1 juin 2005 30 mai 2005 à 14:56
jai oublié de préciser le message d'erreur :
"Le fichier n'a pu être copié"
apparemment limage ne se copie pas ds le dossier C:\Program Files\EasyPHP\www\intranet2\formapro que jai indiqué....
aidez moi :(
jesbond
Messages postés18Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention 1 juin 2005 30 mai 2005 à 15:56
jai enlevé le @ comme tu mas di . (dailleurs je c pas a quoi ça sert, si tu pe me dire au passage.....)
Dans parcourir jai choisi limage : !18.jpg à uploader
et jai 2 messages d'erreur :
Warning: Unable to create '\photos\158!18.jpg': No such file or directory in c:\program files\easyphp\www\intranet2\formapro\upfile.php on line 46
Warning: Unable to move 'C:\Program Files\EasyPHP\tmp\php4B.tmp' to '\photos\158!18.jpg' in c:\program files\easyphp\www\intranet2\formapro\upfile.php on line 46
<CENTER>Le fichier n'a pu être copié</CENTER>
la ligne 46 correspond a cette ligne :
if(move_uploaded_file($fichier,$nouveau_nom))
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 30 mai 2005 à 16:15
Salut,
tu as un dossier qui n'existe pas, ou la variable $fichier ne contient
pas le nom du fichier correct. tu peux utiliser
$_FILES['fichier_source']['tmp_name'] à la place ou "fichier_source"
correspond au nom de ton champ de type "file" dans ton formulaire.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 30 mai 2005 à 16:25
Le @ devant une fonction sert a ce que php ne signale pas d'erreur quand il y en a une, et continue son execution comme si de rien n'etait. Une TRES mauvaise habitude a prendre...c'est carrement a eviter.
D'ou vient le 158 alors, devant le nom de ton image...?
jesbond
Messages postés18Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention 1 juin 2005 30 mai 2005 à 16:33
----> le158 : $num est le numéro de la personne enregistrée. c pr savoir quel photo va avec quel numero
-----> sinon je vois quel dossier il manque car ce code est généré dans upfile.php qui est situé ds le dossier program files\easyphp\www\intranet2\formapro\upfile.php
jesbond
Messages postés18Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention 1 juin 2005 30 mai 2005 à 17:15
bon daccors alors, mais quest ce que je dois mettre dans "value" alors ????
je me suis pe etre embarqué ds quelque chose de difficle pour moi,...
je c pas j arriverai c dommage
mais sa minteresse...
le plus dur c que je travaille sur le code de qq1 qui ne code pas du tout comme moi....en tout sa a lair detre un pro
jesbond
Messages postés18Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention 1 juin 2005 30 mai 2005 à 17:28
donc jai mis ça ds mon formulaire : (si g bien compris)
echo"
Choisissez le fichier à envoyer : </center>";
echo"
<center></center>";
// jai enlever le dollar a fichier, puisk on pe pa utiliser de variable tu ma di
et dans upfile.php faut mettre ---->
$_FILES['fichier]['tmp_name']
$req= "UPDATE intervenant set photo_prof='$nouveau_nom' where num_prof=$num";
$res=mysql_db_query("formapro",$req,$conn);
if ($res==0)
{
echo"
<center> Echec Enregistrement du fichier !
";
echo"
<center>Réessayer</center>
";
}
...
...
...
...
mais le probleme(com tu pe le voir au debut de ma page, mes premieres lignes de code utilisai la variable $fichier :
exemple :
$taille =filesize($fichier);
if ($fichier!='none') //verifie : l'utilisateur a bien envoyer un fichier
{
if($taille<200000) //limite la taille du doc
la je suis obligé de laisser une variable. Je peux pas laisser juste "fichier" sans le $
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 30 mai 2005 à 17:36
=> Antho, mouais...mais si tu geres bien les erreurs possibles...tu n'affiches pas non plus d'erreur php, eventuellement les tiennes, et sans non plus interrompre le script.
Il est LARGEMENT preferable d'ecrire :
if (is_array ($tableau)) {
array_pop ($tableau);
echo '$tableau a ete poppe';
}
else
echo 'Erreur, $tableau n\'est pas un tableau';
plutot que
if (@array_pop (tableau))
echo '$tableau a ete poppe';
else
echo 'Erreur, mais laquelle...??';
C'est un exemple succint et incomplet, hein...mais bon. Ce que je veux dire c'est qu'il vaut mieux gerer les erreurs autrement. Si on gere bien, on aura pas d'erreur php...de toutes facons. Donc le @ devient inutile.
jesbond =>je ne sais pas ou tu as mis ton 158, je n'ai pas regarde, mais il te manque juste un \ entre le dossier utilisateur (donc, si j'ai bien compris) et le nom du fichier, c'est tout...
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 30 mai 2005 à 17:53
Moi je ne comprends pas ce qu'il cherche a faire lol...de toutes facons.
Ton erreur du debut est simple :
Warning: Unable to create '\photos\158!18.jpg': No such file or
directory in c:\program files\easyphp\www\intranet2\formapro\upfile.php
on line 46
Warning: Unable to move 'C:\Program
Files\EasyPHP\tmp\php4B.tmp' to '\photos\158!18.jpg' in c:\program
files\easyphp\www\intranet2\formapro\upfile.php on line 46
tu as ce chemin :
C:\Program
Files\EasyPHP\tmp\php4B.tmp' to '\photos\158!18.jpg
et tu devrais avoir ca :
C:\Program
Files\EasyPHP\tmp\php4B.tmp' to '\photos\158\!18.jpg
jesbond
Messages postés18Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention 1 juin 2005 31 mai 2005 à 15:06
Mais non c pa ça le problème :( :( :( alors la si vous y arrivez pas , je peux laisser tomber lol......
meme en rajoutant le \ sa change rien :
Nom du fichier téléchargé : !5.jpg</CENTER< b>
Warning: Unable to create '\photos\160\!5.jpg': No such file or directory in c:\program files\easyphp\www\intranet2\formapro\upfile.php on line 46
Warning: Unable to move 'C:\Program Files\EasyPHP\tmp\phpD.tmp' to '\photos\160\!5.jpg' in c:\program files\easyphp\www\intranet2\formapro\upfile.php on line 46
<CENTER>Le fichier n'a pu être copié</CENTER>
<CENTER>
</CENTER>
<CENTER>
</CENTER>
bah ANTHOMICRO coment je dois my prendre alors avec mon code pour uploader ?? :(
aidez moi svvpp !!!!