Upload via move_uploaded_file

Résolu
Jeuls Messages postés 14 Date d'inscription vendredi 22 juillet 2005 Statut Membre Dernière intervention 22 juin 2007 - 22 juin 2007 à 13:33
Jeuls Messages postés 14 Date d'inscription vendredi 22 juillet 2005 Statut Membre Dernière intervention 22 juin 2007 - 22 juin 2007 à 13:59
Salut à tous!
Je vous présente mon souçi, je veux permettre l'envoi d'un fichier via formulaire grâce à un script tout ce qu'il y a de plus classique mais qui ne fonctionne pas avec le code ci-dessous (que j'ai déjà utlisé sur une autre page de mon site où j'ai simplement modifier le nom des variables et quelques lignes). Voici le script entier contenu dans une seule page, une erreur y est dissimulée ;) Je rigole mais je commence à voir flou à force de le parcourir...

-----CODE-----
<?php
if(isset($_POST['valajout'])) //Je verifie que le formulaire a été validé (champ hidden dans le formulaire)
{
    if (!empty($_FILES['fichier1'])) // Je verifie qu'un fichier est présent dans le champ "file"
    {
        if ($_FILES['fichier1']['error'] = = 0)
        {    
        $type1 = $_POST['type1'];                     // Pas d'erreur, on crée les variables
        $periode1 = $_POST['periode1'];
        $locataire1 = $_POST['locataire1'];
        $extension1 = $_POST['extension1'];
        
        $nomfichier1 = "$type1-$locataire1.$extension1";   // Je crée un nom de fichier normalisé
        $chemin = "contrats/$periode1/";                            // Le dossier où atterira mon fichier où $periode1 est un nombre de 1 à 10
        
        ?>
        

        Rapport :
//Un petit rapport pour suivre l'evolution du script
         Nouveau nom : <? echo($nomfichier1);?>

        <?php
     
         $temporaire = $_FILES['fichier1']['tmp']; // On prepare le deplacement du fichier
         $definitif = $chemin . $nomfichier1;           // On obtient un path dans ce genre : contrats/1/Contrat-NomDuLocataire.doc / .xls

// (Normalement jusque là tout est OK )
                  
             if (move_uploaded_file($temporaire, $definitif)) // On deplace le fichier
             {
             ?> Le fichier n°1 a bien été uploadé.
<?php
             }
             else
             {
             ?>Erreur lors de l'envoi du fichier.
<?php
             }
         }    
         else
         {
            if($_FILES['fichier1']['error'] == 1) // On affiche une erreur si erreur il y a.
            {
            ?> Taille limite PHP dépassée, veuillez réessayer. <?php
            }
            if($_FILES['fichier1']['error'] == 3)
            {
            ?> Fichier envoyé partiellement, veuillez réessayer. <?php
            }
            if($_FILES['fichier1']['error'] == 4)
            {
            ?> Le fichier n'a pu être uploadé, veuillez réessayer. <?php
            }
         }
    }
}
?> 

<!-- Et voiçi le formulaire que j'utilise (normalement disposé dans un tableau) -->

    <form name ="upfich" id="upfich" method="POST" action="index.php?id=16" enctype="multipart/form-data">

           

            <select class="input" name="type1" id="type1">
            <option value="Contrat">CONTRAT</option>
            <option value="Attestation">ATTESTATION</option>
            <option value="Courrier">COURRIER</option>
            </select>

            <select class="input" name="extension1" id="extension1">
            <option value="doc">WORD</option>
            <option value="xls">EXCEL</option>
            </select>

            ">

            ">

    </form>

-----/CODE-----

Voila ... c'est assez long mais pour des spécialiste ça devrait être compréhensible sans problème ;)
Pour info : Je ne cherche pas à sécurisé tout ça, c'est pour moi et mes frères et l'accès au formulaire est déjà sécurisé... Donc pas de verification du type du fichier ect ...
Je me suis aussi assuré que le dossier temp de mon hebergeur (Jexiste) soit bien "tmp".
Ca va faire 2 jours que je cherche la raison pour laquelle il m'upload pas le fichier ... please help !

Merci d'avance!!

Jules.

1 réponse

Jeuls Messages postés 14 Date d'inscription vendredi 22 juillet 2005 Statut Membre Dernière intervention 22 juin 2007
22 juin 2007 à 13:59
Hum .... après une recherche plus "approfondie" le repertoire temp de Jexiste est bien tmp_name ... le script fonctionne :-p Désolé pour le post inutile !!
3