Rechercher : dans
Par :

[PHP] move-uploaded-file...

Dernière réponse le 26 aoû 2008 à 16:32:00 Jules, le 21 jun 2007 à 15:29:49 
 Signaler ce message aux modérateurs

Salut tout le monde,
J'ai un souçi avec un petit script pour un upload de fichier... tout ce qu'il de plus banal mais ...

Voiçi le code php :

if(!empty($_POST['fichier'])) // Je verifie qu'il y a bien un fichier à uploader
	{
  if(!empty($type1) && !empty($periode1) && !empty($locataire1)) // Si tout les champs sont remplis
  {
  $fichierup1 = $_FILES['fichier1']['name']; // On definie les variables
  $type1 = $_POST['type1'];
  $periode1 = $_POST['periode1'];
  $locataire1 = $_POST['locataire1'];
  $extension1 = $_POST['extension1'];
  
  	$nomfichier1 = "$type1-$locataire1.$extension1"; // Je crée un nom de fichier ( ex: Contrat-NomDuLocataire.doc ou .xls )

  	$chemin = "contrats/$periode1/"; // je definie le dossier où sera uploadé le fichier ($periode1 est un nombre de 1 à 10)
  
  	$resultat = move_uploaded_file($_FILES['fichier1']['tmp_name'], $chemin . $nomfichier1); // upload...
  	
  	if ($resultat) // On verifie le resultat ect...
  	{
  	?><br /><span class="texte"><strong>Le fichier n°1 a été bien été uploadé.</strong></span><br /><?
  	}
  	else
  	{
  	?><br /><span class="texte"><strong>L'upload du fichier n°1 a echoué.</strong></span><br /><?
  	}
  }
  else
  {
  ?><br /><span class="texte"><strong>Veuillez remplir tout les champs du fichier n°1 et vous assurer que le fichier est bien de type "Word" ou "Excel".</strong></span><?
  }
	}


Vous remarquerez que c'est du bricolage ;) C'est uniquement pour 3 utilisateurs : moi et mes frères alors pas de souçi de sécurité ni de verification du fichier.
Vous l'aurez deviné, l'upload echoue..
J'ai testé : tout fonctionne jusqu'à l'upload ! Ce n'est donc pas un problème de path ni de nom de fichier.. J'ai un script quasi identique (juste les variables qui changent) sur une autre page et ça fonctionne......

Voiçi l'extrait concerné du formulaire :
<tr valign="middle">
  <td align="center" width="20">
  <span class="texte"><strong>1</strong></span>
  </td>
  <td align="center">
  <input type="file" size="15" class="input" name="fichier1" id="fichier1">
  </td>
  <td align="center">
  <select class="input" name="type1" id="type1">
  <option value="Contrat">CONTRAT</option>
  <option value="Attestation">ATTESTATION</option>
  <option value="Courrier">COURRIER</option>
  </select>
  </td>
  <td align="center">
  <select class="input" name="extension1" id="extension1">
  <option value="doc">WORD</option>
  <option value="xls">EXCEL</option>
  </select>
  </td>
  <td align="center">
  <input class="input" type="text" name="periode1" id="periode1" size="1">
  </td>
  <td align="center">
  <input type="text" class="input" size="20" name="locataire1" id="locataire1">
  </td>
	</tr>


Dernière chose : normalement il peut y avoir 3 fichier à uploader donc 3 input type="file" .. j'ai remarqué que de cette manière je ne peux traiter qu'un seul fichier à la fois mais ça c'est un autre problème que je reglerais plus tard :)

(Je me sers de la variable $fichierup1 plus tard ... mais je ne sais pas si cette ligne est obligatoire "$fichierup1 = $_FILES['fichier1']['name'];" pour l'upload.)

Si vous avez une idée j'en ai bien besoin ... Merci d'avance !

Jules.
Configuration: Windows XP
Firefox 2.0.0.4

Meilleures réponses pour « [PHP] move uploaded file... » dans :
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...
PHP - Parser du XML VoirIntroduction à XML PHP permet l'analyse syntaxique (parsage ou parsing en anglais) d'un document XML. Le langage XML (eXtensible Markup Language, traduisez Langage à balises extensibles) est un métalangage, c'est-à-dire un langage permettant de...
Objet FileSystemObject (FSO) VoirFileSystemObject L'objet FileSystemObject (FSO) permet de manipuler le système de fichiers de Windows. L'utilisation du modèle d'objet FileSystemObject s'effectue en créant une instance de l'objet Scripting.FileSystemObject l'intermédiaire de la...

1

 hafidodido, le 26 aoû 2008 à 16:32:00

Slt
Verifiez si vous avez utilisé POST ou GET. il faut utiliser POST.
et verifier aussi que le type des mimes est 'multipart/form-data'.
c-à-d

<form enctype="multipart/form-data" action="unepage.php" method="POST">

et voici un exemple d'utilisation de move_uploaded_file

<?php

if(isset($_FILES['uploaded'])){
$target = "chemin/".basename($_FILES['uploaded']['name']) ;
print_r($_FILES);

if(move_uploaded_file($_FILES['uploaded']['tmp_name'],$target)) echo "OK!";

}
else{
echo "<form enctype='multipart/form-data' action='' method='POST'>";
echo "File:<input name='uploaded' type='file'/><input type='submit' value='Upload'/>";
echo "</form>";
}

?>



abdelhafid.ca.cx

Répondre à hafidodido