Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
936 connectés 

  FORUM HardWare.fr
  Programmation

  [PHP]Passage de fichier en paramétres

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP]Passage de fichier en paramétres

n°43063
revo
???
Posté le 27-06-2001 à 11:45:19  profilanswer
 

Pour l'upload on utilise d'habitude:
<form method="post" name="up" enctype="multipart/form-data" action="uploadvf.php3">
  Votre wu :  
  <INPUT TYPE="file" NAME="userfile">
  <BR>
  <INPUT TYPE="submit" VALUE="envoyer">
</p>
</form>
 
Mais je veux le passer en paramétres style uploadvf.php3?userfile=jesaispas...
Mais je sais pas quoi mettre a la place de jesaispas
?


---------------
"Si c'est les meilleurs qui partent les premiers, que penser des éjaculateurs précoces" Desproges
mood
Publicité
Posté le 27-06-2001 à 11:45:19  profilanswer
 

n°43071
Mara's dad
Yes I can !
Posté le 27-06-2001 à 12:03:31  profilanswer
 

1- Pour savoir ce que contient userfile, t'as qu'à faire un upload normal, et dans uploadvf.php3 tu affiche $userfile !
 
2- Mais, faut savoir ce que tu veux. Si tu veut recevoir le fichier, il te faut absolument un INPUT TYPE=file ! C'est le navigateur qui envoie le fichier vers le serveur quand il rencontre un INPUT TYPE=file. C'est pas le serveur qui va le chercher sur le PC du client avec son nom ?
 
3-si tu fait uploadvf.php3?userfile=c:\autoexec.bat, tout ce que uploadvf.php3 va recevoir, c'est une variable $userfile qui contiendra une chaîne "c:\autoexec.bat" !
 
4-SINON, pour un upload en PHP, il manque le champ MAX_FILE_SIZE dans le formulaire :

Code :
  1. <FORM ENCTYPE="multipart/form-data" ACTION="_URL_" METHOD=POST>
  2.    <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000">
  3.    Send this file: <INPUT NAME="userfile" TYPE="file">
  4.    <INPUT TYPE="submit" VALUE="Send File">
  5. </FORM>


 
DOC : http://php.net/manual/en/features.file-upload.php
ou : http://php.net/manual/fr/features.file-upload.php


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°43076
revo
???
Posté le 27-06-2001 à 12:11:00  profilanswer
 

Pour max_file_size je connais (mais ca peut marcher sans)
Je sais que c le navigateur qu'ill'envi mais à mon avis en encodant le fichier à la maniére du navigateur on peut l'envoyer en paramétres, mais la question est comment l'encoder avec vc++6 par exemple ?


---------------
"Si c'est les meilleurs qui partent les premiers, que penser des éjaculateurs précoces" Desproges
n°43091
Mara's dad
Yes I can !
Posté le 27-06-2001 à 12:43:39  profilanswer
 

OK, OK !
 
Une piste là : http://www.isi.edu/in-notes/rfc1867.txt


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°43104
Largo
troubadour
Posté le 27-06-2001 à 13:30:56  profilanswer
 

tu veux passer le *contenu* du fichier en  URL ??
parce que les url sont limitées en taille (genre 1024 car.) et c'est pas ultime comme solution. d'autant plus que tu ne peux pas récuperer le contenu d'un fichier a partir d'un formulaire sans passer par <input type=file>

n°43106
Mara's dad
Yes I can !
Posté le 27-06-2001 à 13:37:31  profilanswer
 

Largo, si j'ai bien compris, Revo n'utilise pas un navigateur pour envoyer son fichier. Il écrit sa propre appli en c++.
 
Cela dit, tu as raison, en HTTP GET, l'url est limitée. Il faut utiliser POST pour envoyer un fichier...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°43221
revo
???
Posté le 27-06-2001 à 18:53:52  profilanswer
 

Je vous rassure mon fihcier est pas tres gros et fait moins d'1 koctet.
Mais je pense avoir trouver une autre solution: le prog c++ me donne le contenu du programme (qui est du text) , me le donne en parametre et je créer un fichier avec ce param.


---------------
"Si c'est les meilleurs qui partent les premiers, que penser des éjaculateurs précoces" Desproges
n°43222
youdontcar​e
Posté le 27-06-2001 à 19:00:33  profilanswer
 

j'avais galéré tel le dingue pour faire du post en php (sur nexen). en plus, pas des masses de docs là dessus :(, et un bug chelou. au cas où, voici une proc qui marche pour une requête post de nexen -> altern (c'est du php, facilement convertible en c)
 
host = une adresse ip ou un nom de domaine
postfile = le chemin sur le serveur cible (/myDir/myPost.php)
varname = le nom de la variable
vardata = son contenu
 
ça ne gère donc qu'une seule variable, je galérais déjà bien assez comme ça :D même si j'en passe plusieurs, que je récupère à coups d'explode() sur le serveur cible.
 
 

Code :
  1. //
  2. // Send a request and return its response
  3. //
  4. function HTTPRequest($targethost, $request)
  5. {
  6. global $socket;
  7. // If targethost is a dns string, get its IP  
  8. if (!ereg("[0-255].[0-255].[0-255].[0-255]", $targethost)) $address = gethostbyname ($targethost);
  9. else              $address = $targethost;
  10. // Get the port for the WWW service
  11. $service_port = getservbyname ('www', 'tcp');
  12. // Create a TCP/IP socket
  13. $socket = socket (AF_INET, SOCK_STREAM, 0);
  14. if ($socket < 0)     echo "socket() failed: reason: " . strerror ($socket) . "<br>";
  15. // Connect
  16. $result = connect ($socket, $address, $service_port);
  17. if ($result < 0)  echo "connect() failed.\nReason: ($result) " . strerror($result) . "<br>";
  18. // Send request
  19. write ($socket, $request, strlen ($request));
  20. // Grab result
  21. $outresult = "";
  22. while (read ($socket, $out, 2048) >= 0) {
  23.  $outresult .= $out;
  24. }
  25. // Close socket
  26. close ($socket);
  27. return $outresult;
  28. }
  29. //
  30. // Send an HTTP POST request
  31. //
  32. function HTTPPOST($host, $postfile, $varname, $vardata)
  33. {
  34. $boundary = "----boundary----";
  35. // Build POST data
  36. $postheader = "$boundary\r\n";
  37. $postheader .= "Content-Disposition: form-data; name=\"$varname\"\r\n\r\n";
  38. $postheader .= "$vardata\r\n\r\n";    // FIX ! there's only one return in ie data, but data gets truncated here without two.
  39. $postheader .= "$boundary\r\n\r\n";
  40. $postlen = strlen($postheader);
  41. // Build POST header
  42. $header = "POST $postfile HTTP/1.0\r\n";
  43. $header .= "Host: $host\r\n";
  44. $header .= "Content-Type: multipart/form-data; boundary=$boundary\r\n";
  45. $header .= "Content-Length: $postlen\r\n\r\n";
  46. $header .= $postheader;
  47. return HTTPRequest($host, $header);
  48. }

n°43225
revo
???
Posté le 27-06-2001 à 19:13:11  profilanswer
 

C vrai que c le bordel  :D  
Mais je vais en parler a celui qui c'occupe du C++
Merci!


---------------
"Si c'est les meilleurs qui partent les premiers, que penser des éjaculateurs précoces" Desproges

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [PHP]Passage de fichier en paramétres

 

Sujets relatifs
inclusion d'un fichier Html dans un autre htmlJAVASCRIPT : comment recuperer une variable PHP ?
exist il des progs similaire a PHP et JAVA serveur (websphere)[PHP] limite du temps d'execution
[HTML] ou [PHP] ou autre languauge et création de repertoire.PHP et HTML
php : passage d'argumentsphp : passage d'arguments
erreur PHP...[PHP] affichage de resultat d'une requete SQL ds un tableau
Plus de sujets relatifs à : [PHP]Passage de fichier en paramétres


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR