[php] fichier joint

Fermé
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 - 5 févr. 2009 à 17:39
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 - 6 févr. 2009 à 16:47
Bonjour alors j'ai une petite diffuclté, j'ai fait quelque recherche sur google pour m'aider mais bon j'ai pas trouvé grand chose.
Je vous explique:
je gère des personnes qui ont des cv. Donc pour chaque création de personne, je doit dc lui attribuer un fichier joint.
Donc il me faudrait un petit bouton "parcourir" qui me permet d'aller naviguer dans l'ordinateur et apres j'enregistre le chemin du cv dans ma base de données.
Et lorsque je consulte les personnes, j'aurais ce même chemin qui me permettrais de l'ouvrir.
Alors bon je sait pas si je suis très clair...
Si vous auriez un tuto la dessus ou qqch,....
Merci beaucoup d'avance
A voir également:

15 réponses

Utilisateur anonyme
5 févr. 2009 à 17:53
^^
Je pense que tu as tout ce qu'il te faut ici.
Bon courage et n'hésite pas si tu as d'autres questions.
0
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 65
5 févr. 2009 à 18:27
je te remercie je regarde
0
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 65
5 févr. 2009 à 19:24
alors bon tu devait te douter que j'allais avoir des problèmes:
j'ai crée 2 fichiers, essai.php et essai 2.php qui contienne respectivement:

<html>
<head>
</head>
<body>
<FORM method="POST" action="essai2.php" ENCTYPE="multipart/form-data">
<INPUT type=hidden name=MAX_FILE_SIZE VALUE=2048>
<INPUT type=file name="nom_du_fichier">
<INPUT type=submit value="Envoyer">
</FORM>


<br><br>
</body>
</html>

-------------------------------------------------------------
et
------------------------------------------------------------
<pre><? print_r($_FILES); ?></pre>
<?
if ($_FILES['nom_du_fichier']['error']) {
switch ($_FILES['nom_du_fichier']['error']){
case 1: // UPLOAD_ERR_INI_SIZE
echo"Le fichier dépasse la limite autorisée par le serveur (fichier php.ini) !";
break;
case 2: // UPLOAD_ERR_FORM_SIZE
echo "Le fichier dépasse la limite autorisée dans le formulaire HTML !");
break;
case 3: // UPLOAD_ERR_PARTIAL
echo "L'envoi du fichier a été interrompu pendant le transfert !";
break;
case 4: // UPLOAD_ERR_NO_FILE
echo "Le fichier que vous avez envoyé a une taille nulle !");
break;
}
}
else {
// $_FILES['nom_du_fichier']['error'] vaut 0 soit UPLOAD_ERR_OK
// ce qui signifie qu'il n'y a eu aucune erreur
}
?>




Bon alors au début ça m'affiche bien le formulaire de recherche, mais après lorsque j'envoi ça ne m'affiche plus rien.
print_r($_FILES); ça doit bien afficher ça, non?
Array
(
[nom_du_fichier] => Array
(
[name] => MaBelleImage.jpg
[type] => image/jpg
[tmp_name] => chemin_complet_du_fichier_uploadé
[error] => 0
[size] => 1000
)

)
je comprend mal ou il y a un problème
merci d'avance
0
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 65
5 févr. 2009 à 20:22
non pardon bon ben j'ai trouvé:
pour essai.php c'est ok et voici le code pour essai2.php:
<?php

if ($_FILES['nom_du_fichier']['error']) {
switch ($_FILES['nom_du_fichier']['error']){
case 1: // UPLOAD_ERR_INI_SIZE
echo"Le fichier dépasse la limite autorisée par le serveur (fichier php.ini) !";
break;
case 2: // UPLOAD_ERR_FORM_SIZE
echo "Le fichier dépasse la limite autorisée dans le formulaire HTML !";
break;
case 3: // UPLOAD_ERR_PARTIAL
echo "L'envoi du fichier a été interrompu pendant le transfert !";
break;
case 4: // UPLOAD_ERR_NO_FILE
echo "Le fichier que vous avez envoyé a une taille nulle !";
break;
}
}
else {
echo $_FILES['nom_du_fichier']['name'];
echo $_FILES['nom_du_fichier']['tmp_name'];


// $_FILES['nom_du_fichier']['error'] vaut 0 soit UPLOAD_ERR_OK
// ce qui signifie qu'il n'y a eu aucune erreur
}

?>

apres envoi il affiche Le nom et Le chemin du fichier temporaire.
Voila
Merci beaucoup de ton aide feez et bonne soiree
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
5 févr. 2009 à 20:24
De rien ! Tant mieux si ça t'as aidé !
N'oublie pas de mettre ton post en résolu si c'est le cas !
Bon courage ! ^^
0
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 65
5 févr. 2009 à 21:25
euh enfaite j'ai encore un tit soucis....
dans le formulaire (fichier essai.php) j'envoi le fichier à l'autre fichier (essai2.php) en method post. Comment j'arrive à récupérer les données sans faire $_POST.

Parce que enfaite je viens de réintégrer ce code à mon formulaire, mais il me dit l'erreur suivante:
Parse error: syntax error, unexpected T_IF

alors je comprend pas trop la...
Merci de votre aide
0
Utilisateur anonyme
5 févr. 2009 à 21:28
Mets moi tout le code s'il te plait pour que je vois pourquoi il te met cette erreur... C'est peut être tout bête (un point virgule oublié, une accolade pas fermée...)
0
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 65
5 févr. 2009 à 21:30
ok bon c'est un peu et désordonnée mais bon c'est le début,....

donc ça c'est le fichier essai2.php

<?php
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;

//sélection de la base de données:
$db = mysql_select_db( "chercheuse" ) ;

//récupération des valeurs des champs:
//nom:
$Nom_Candidat = $_POST["Nom_Candidat"] ;
$Prenom_Candidat = $_POST["Prenom_Candidat"] ;
$Fixe_Candidat = $_POST["Fixe_Candidat"] ;
$Portable_Candidat = $_POST["Portable_Candidat"] ;
$Fax_Candidat = $_POST["Fax_Candidat"] ;
$EmailPro_Candidat = $_POST["EmailPro_Candidat"] ;
$EmailPerso_Candidat = $_POST["EmailPerso_Candidat"] ;
$Commentaire_Candidat = $_POST["Commentaire_Candidat"] ;
$ExperienceProf_Candidat = $_POST["ExperienceProf_Candidat"] ;
$Formation_Candidat = $_POST["Formation_Candidat"] ;
$VehiculePerso_Candidat = $_POST["VehiculePerso_Candidat"] ;
$PretentionSalaire_Candidat = $_POST["PretentionSalaire_Candidat"] ;
$jour = $_POST["jour"] ;
$mois = $_POST["mois"] ;
$annee = $_POST["annee"] ;
$DateNaissance_Candidat .= $annee;
$DateNaissance_Candidat .="-";
$DateNaissance_Candidat .=$mois;
$DateNaissance_Candidat .="-";
$DateNaissance_Candidat .=$jour;
$Code_Titre = $_POST["titre"] ;
$Code_Disponibilite = $_POST["Code_Disponibilite"];
$Code_Nationalite = $_POST["Code_Nationalite"];
$Code_Statut = $_POST["Code_Statut"];
$Code_Niv = $_POST["Code_Niv"];
$Code_Permis = $_POST["Code_Permis"];
$Code_Mobilite = $_POST["Code_Mobilite"]

if ($_FILES['liencv']['error']) {
switch ($_FILES['liencv']['error']){
case 1: // UPLOAD_ERR_INI_SIZE
echo"Le fichier dépasse la limite autorisée par le serveur (fichier php.ini) !";
break;
case 2: // UPLOAD_ERR_FORM_SIZE
echo "Le fichier dépasse la limite autorisée dans le formulaire HTML !";
break;
case 3: // UPLOAD_ERR_PARTIAL
echo "L'envoi du fichier a été interrompu pendant le transfert !";
break;
case 4: // UPLOAD_ERR_NO_FILE
echo "Le fichier que vous avez envoyé a une taille nulle !";
break;
}
}
else {
echo $_FILES['liencv']['name'];
echo $_FILES['liencv']['tmp_name'];


// $_FILES['nom_du_fichier']['error'] vaut 0 soit UPLOAD_ERR_OK
// ce qui signifie qu'il n'y a eu aucune erreur
}
$lienCV = $_FILES['liencv']['tmp_name'];


//création de la requête SQL:
$sql = "INSERT INTO `candidat` (Code_Candidat,Code_Titre,Nom_Candidat,Prenom_Candidat,DateNaissance_Candidat,Code_Poste_Actuel,Code_Poste_Recherche,Code_Nationalite,Fixe_Candidat,Portable_Candidat,Fax_Candidat,EmailPro_Candidat,EmailPerso_Candidat,Commentaire_Candidat,Code_Statut,Code_Niv,ExperienceProf_Candidat,Formation_Candidat,VehiculePerso_Candidat,Code_Disponibilite,PretentionSalaire_Candidat,Code_Permis,Code_Mobilite,LienCV,LienCVTravail)
VALUES ( null,'$Code_Titre','$Nom_Candidat','$Prenom_Candidat','$DateNaissance_Candidat','','','$Code_Nationalite','$Fixe_Candidat','$Portable_Candidat','$Fax_Candidat','$EmailPro_Candidat','$EmailPerso_Candidat','$Commentaire_Candidat','$Code_Statut','$Code_Niv','$ExperienceProf_Candidat','$Formation_Candidat','$VehiculePerso_Candidat','$Code_Disponibilite','$PretentionSalaire_Candidat','$Code_Permis','$Code_Mobilite','$lienCV','') " ;

//exécution de la requête SQL:
$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;

//affichage des résultats, pour savoir si l'insertion a marchée:
if($requete)
{
echo("L'insertion a été correctement effectuée") ;
}
else
{
echo("L'insertion à échouée") ;
}
?>

et je ne met pas tous essai.php mais voila le plus interessant:

<tr align="center">
<td>CV</td>
<td>
<INPUT type=hidden name=MAX_FILE_SIZE VALUE=10048>
<INPUT type=file name="liencv">
</td>
</tr>


Merci de ton aide
0
Utilisateur anonyme
5 févr. 2009 à 21:44
Tu peux me donner l'erreur exacte qu'il te met ? Merci.
0
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 65
5 févr. 2009 à 21:47
Parse error: syntax error, unexpected T_IF in C:\wamp\www\essai\essai2.php on line 38

voila
0
Utilisateur anonyme
5 févr. 2009 à 22:09
A oui... C'est laquelle la ligne 38? Je sais, je suis chiante... ^^
0
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 65
5 févr. 2009 à 22:14
c'est celle-ci:
if ($_FILES['liencv']['error']) {

Mais c'est normal non qu'il ne reconnaisse pas 'liencv' puis qu'il est déclaré dans l'autre page, et vu que je ne le récupère pas en faisant $_POST['liencv'] .....
Mais ce que je ne comprend pas c'est pourquoi avant ça marchais, avant que je l'intègre dans mon autre code.

merci de ton aide
0
ben85350 Messages postés 610 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 2 avril 2013 27
6 févr. 2009 à 14:38
Salut !
$Code_Mobilite = $_POST["Code_Mobilite"] ;

déjà ça devrait déjà être mieux ^^
0
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 65
6 févr. 2009 à 12:46
SVP un petit coup de main
0
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 65
6 févr. 2009 à 15:39
oups !!!!!!! Oui en effet ça marche bcp mieux. Merci
Jai encore un petit problème:
avec ceci: $_FILES['liencv']['tmp_name']; j'obtient le chemin temporaire du fichier.
Comment je peut faire pour avoir le chemin réel ?
Merci encore bcp de votre aide
0
ben85350 Messages postés 610 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 2 avril 2013 27
6 févr. 2009 à 15:59
Je peut avoir un exemple de chemin temporaire qu'il te renvoie et un exemple de chemin réel que tu aimerait avoir
0
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 65
6 févr. 2009 à 16:47
alors je voudrais par exemple avoir C:\Users\aurélie\Desktop\bibi.jpg
et enfaite j'obtient C:\wamp\tmp\phpB85F.tmp

De plus lors de l'insertion dans la bdd tous les \ sont enlevés...
merci de ton aide
0