Bref, revenir au code de base : Upload de fichiers en PHP
Bref, revenir au code de base : Upload de fichiers en PHP
ok, si j'ai bien tout compris, j'ai mis : (File1 est le nom du champ dans mon formulaire)
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if (!move_uploaded_file($_FILES['File1']['tmp_name'], $content_dir.$nom_fichier2)) { echo "<br>Impossible de déplacer ".$fichierauploader."<br>(".$content_dir.$nom_fichier2.")"; }
et j'obtiens :
Envoyé par php
Là normalement, ça devrait marcher
Tu es bien dans le script de traitement du formulaire ? Essaye d'afficher le contenu de $_FILES avec un var_dump($_FILES).
Ci-dessous le résultat de var_dump($_FILES);
Je ne sais pas si cela a de l'importance mais le formulaire est sur une page asp et je passe sur une page php pour le traitement via une redirection en javascript.
Code : Sélectionner tout - Visualiser dans une fenêtre à part array(0) { }
Le fichier uploadé n'existe que pour la page de destination du formulaire.
Il ne survit pas à la redirection.
ARF !!! Désolé de ne pas l'avoir précisé avant.
Je vais voir si je ne peux pas activer la cohabitation asp-php comme j'avais sur mon ancien serveur.
Merci pour votre aide et désolé de vous avoir fait perdre votre temps
Les deux peuvent cohabiter : PHP se moque que le formulaire ait été construit en ASP (d'ailleurs il ne le sait pas), il reçoit juste les données.
Je sais qu'il peuvent cohabiter mais actuellement si j’envoie les données de mon formulaire en POST (comme c'était programmé initialement), il ne transmet rien à ma page php. C'est pour cela que j'ai modifié avec un javascript.
Heu... ASP (comme PHP du reste) n'envoie jamais de formulaire à qui que ce soit, il se contente de créer une page HTML contenant un formulaire.
Donc si tu ne reçois rien, ça n'a rien à voir avec ASP ou PHP mais c'est juste que le code créé est incorrect, par exemple l'attribut enctype est-il bien présent et sa valeur est-elle multipart/form-data ?
Bonjour Bovino,
oui c'est présent, ci-dessous le code initial de mon formulaire :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <form ACTION="upload.php" METHOD="POST" ENCTYPE="multipart/form-data" NAME="Form1"> <INPUT NAME="File1" TYPE="File" ENCTYPE="multipart/form-data"> <INPUT NAME="Submit1" TYPE="button" value="Soumettre la requête" onClick="envoyer()"> </form>
et en javascript
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 function tester() { with(window.document.Form1) { texte = File1.value; result = texte.search(/^[a-zA-Z_0-9: \\\/]+_((0[1-9])|([1-2][0-9])|(3[0-1]))((0[1-9])|(1[0-2]))[0-9][0-9][\.][txt][xls]/); if (result != -1) { document.getElementById('alerte').style.visibility='hidden'; return true; } else { document.getElementById('alerte').style.visibility='visible'; return false; } } } function envoyer() { if (tester()) document.Form1.submit(); }
Salut c'est re-moi, après plusieurs tests, il s'agit de ma baliseque je n'arrive pas à récupérer en POST.
Code html : Sélectionner tout - Visualiser dans une fenêtre à part <INPUT NAME="File1" TYPE="File" ENCTYPE="multipart/form-data">
Si je renvoi sa valeur dans une autre balise, je la récupère mais dans ce cas j'ai "C:\fakepath\" donc inutilisable.
Est ce qu'il pourrait s'agir d'une config du serveur ?
Il n'y a pas d'attribut enctype pour une balise <input /> !
Sinon
un fichier ne se récupère pas avec $_POST mais avec $_FILES...je n'arrive pas à récupérer en POST
Quant au chemin reçu, c'est tout à fait normal : le serveur n'a pas à connaitre l'arborescence locale du fichier transféré, donc le navigateur ne l'envoie pas, mais le fichier en lui-même est tout à fait utilisable !
EDIT
Ton expression régulière en JavaScript ne fait pas ce que tu crois au niveau de l'extension !
ici, tu demandes qu'il y ai deux lettres après le point : t, x ou t suivie de x, l ou s, donc tx, tl, ts, xx, xl ou xs !
Code : Sélectionner tout - Visualiser dans une fenêtre à part [\.][txt][xls]
J'ai réussi !!!!!
Je me suis servi de ce code pour traiter mes variables :
Merci à tous de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $File1=$_FILES['File1']['tmp_name']; $File1_name=$_FILES['File1']['name'];
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager