Envoi fichier+champs

walkeur
Invité n'ayant pas de compte PHPfrance

10 févr. 2005, 00:53

Bonsoir à tous.
J'ai un soucis avec un formulaire.
Peux-t-on envoyer un fichier et des données en même temps?

c'est à dire que sur la page, je propose d'envoyer un fichier, et de renseigner des champs associés à ce fichier. J'arrive à récuperer le fichier sur le serveur, mais il veut pas de mes variables $_POST

est-ce possible de faire déjà?
si oui je vous mettrais un bout de mon code

merci beaucoup

Mammouth du PHP | 1311 Messages

10 févr. 2005, 01:00

oui c'est possible

walkeur
Invité n'ayant pas de compte PHPfrance

10 févr. 2005, 01:18

bon alors je viens de rajouter un truc que j'avais oublier, déclarer les variables $_POST, méa culpa, par contre maintenantc'est pour le fichier que ça foire!
en entrée j'ai donc le champ monfichier, pas de pbm, ; le ma requète est bonne, je l'ai testé sur mysql; c'est la récup des données qui foire

<?

require_once("ma connection");

$style = $_POST['style'];
$auteur = $_POST['auteur'];
... récupération de tous les champs


if(substr($monfichier_name, -3) == "l6t") {

// Ici, on enregistre l'enregistrement dans la base (A MODIFIER) :
mysql_query(la requete);

// on recupere l'ID qu'on viens d'enregistrer !
$ID = mysql_insert_id();

$nom_fichier = $ID . "-" . $monfichier_name;

// On enregistre le fichier
copy($monfichier, "preset/" . $nom_fichier);

mysql_query("UPDATE preset SET champs_fichier = '$nom_fichier' WHERE id = '$ID'");


}
else {


echo "Votre fichier n'avais pas l'extension .l6t ! (" . substr($monfichier_name, 0, -3) . ")" ;


}

?>

Eléphanteau du PHP | 39 Messages

12 févr. 2005, 11:33

Salut!

Pour que tu puisse récupérer les informations de ton fichier il faut déjà que tu es un formulaire:

Code : Tout sélectionner

<FORM ENCTYPE="multipart/form-data" ACTION="_URL_" METHOD="POST"> <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000"> Envoyez ce fichier : <INPUT NAME="userfile" TYPE="file"> <INPUT TYPE="submit" VALUE="Send File"> </FORM>
Je pense que tu avais ceci pour ton formulaire de fichier.
POur récupérer ensuite les information du fichier "userfile" (<INPUT NAME="userfile" TYPE="file">)

Tu peux obtenir:
$_FILES['userfile']['name']
Le nom du fichier original sur la machine source (ex : image.gif).
$_FILES['userfile']['type']
Le type MIME du fichier, si le navigateur a fourni cette information (ex : image/gif).
$_FILES['userfile']['size']
La taille du fichier envoyé, en octets (ex : 2543).
$_FILES['userfile']['tmp_name']
Le nom temporaire du fichier qui sera chargé sur la machine serveur (ex : /home/uploads/FHGJKYUGTDFR).

Pour envoyer un fichier tu fais:
$target = "../screenshot/maxi/"; //dossier de réception du fichier
           $tmp = $_FILES[screen]['tmp_name']; //récupération du nom temporaire du fichier
           $chemin = $target.$_FILES[screen]['name']; //récupération du nom du fichier
		   		    
         if(move_uploaded_file($tmp, $chemin)) { 
 echo "Fichier uploadé"; 
         }

je pense que tout sa sa peut t'aider!
KitNetiGraph, création de design gratuit.
Allez le visiter: http://www.kitnetigraph.org