Kommunauty
Connexion
Inscription

Script PHP demande d'aide


Overdoz Messages : 14

Salut !

J'aimerez ajouter dans ce script un petit truc mais j'arrive pas trop lol, enfete c'est un script d'up de fichier que j'ai modifié mais je voudrais ajouter le lien du fichier que l'on a UP quand l'upload à réussi. voila merci .

<?php
// ############################################################ //
//   Script pour Upload de fichier quelconque sur un serveur //
// ############################################################ //
// Fonctionnement &#58; //
// ---------------- //
// 1&#46; Test si l'utilisateur a choisi un fichier //
// 2&#46; Test si le fichier choisi est valide (si taille <> 0) //
// 3&#46; Test si le taille du fichier est inférieure à la taille //
//    max //
// 4&#46; Test si l'extension est autorisée&#46; //
// ############################################################ //
// Paramètrage &#58; //
// ------------- //
// Ce script peut facilement être paramètré selon les besoins&#46; //
// Le paramètrage se fait principalement par la définition des //
// variables globales&#46; Voici les différentes variables &#58; //
// //
//  - $DESTINATION_FOLDER &#58; contient le répertoire dans lequel //
//    le fichier sera uploadé&#46; Il est par défaut récupéré du //
//    formulaire, mais peut très bien être remplacé par un url //
//    en dur&#46; //
// //
//  - $MAX_SIZE &#58; spécifie la taille maximale que le fichier à //
//    uploader peut avoir&#46; Attention, le taille est spécifiée //
//    en octets&#46; //
// //
//  - $RETURN_LINK &#58; Récupère automatiquement l'url de la page //
//    web qui appelle ce script&#46; Ce lien sert à créer des liens //
//    de retour, qui sont toujours utiles&#46; //
// //
//  - $AUTH_EXT &#58; Ce tableau contient toutes les extensions qui //
//    peuvent être uploadées&#46; On peut en rajouter ou en //
//    supprimer si besoin est&#46; //
// ############################################################ //

// ############################################################ //
// Définition des variable globales, modifiables à volonté //
// ############################################################ //
// Récupération du dossier dans lequel le fichier sera uploadé //
$DESTINATION_FOLDER = $_POST&#91;"folder"&#93;; //
// Taille maximale de fichier, valeur en bytes //
$MAX_SIZE = 99000000; //
// Récupération de l'url de retour //
$RETURN_LINK = $_SERVER&#91;'HTTP_REFERER'&#93;; //
// Définition des extensions de fichier autorisées (avec le "&#46;")//
$AUTH_EXT = array("&#46;doc", "&#46;pdf", "&#46;jpg", "&#46;ppt", "&#46;xls", //
"&#46;bmp", "&#46;gif", "&#46;png", "&#46;jpeg", "&#46;psd", "&#46;txt", "&#46;csv", "&#46;docx", "&#46;zip", "&#46;rar", "&#46;001", "&#46;002", "&#46;003", "&#46;004", "&#46;exe", "&#46;bat"); //
// ############################################################ //

// Fonction permettant de créer un lien de retour automatique

function createReturnLink(){
global $RETURN_LINK;
echo "<a href='"&#46;$RETURN_LINK&#46;"'>Retour</a><br>";
}

// Fonction permettant de vérifier si l'extension du fichier est
// autorisée&#46;

function isExtAuthorized($ext){
global $AUTH_EXT;
if(in_array($ext, $AUTH_EXT)){
return true;
}else{
return false;
}
}

// On vérifie que le champs contenant le chemin du fichier soit
// bien rempli&#46;

if(!empty($_FILES&#91;"file"&#93;&#91;"name"&#93;)){

// Nom du fichier choisi&#58;
$nomFichier = $_FILES&#91;"file"&#93;&#91;"name"&#93; ;
// Nom temporaire sur le serveur&#58;
$nomTemporaire = $_FILES&#91;"file"&#93;&#91;"tmp_name"&#93; ;
// Type du fichier choisi&#58;
$typeFichier = $_FILES&#91;"file"&#93;&#91;"type"&#93; ;
// Poids en octets du fichier choisit&#58;
$poidsFichier = $_FILES&#91;"file"&#93;&#91;"size"&#93; ;
// Code de l'erreur si jamais il y en a une&#58;
$codeErreur = $_FILES&#91;"file"&#93;&#91;"error"&#93; ;
// Extension du fichier
$extension = strrchr($nomFichier, "&#46;");

// Si le poids du fichier est de 0 bytes, le fichier est
// invalide (ou le chemin incorrect) => message d'erreur
// sinon, le script continue&#46;
if($poidsFichier <> 0){
// Si la taille du fichier est supérieure à la taille
// maximum spécifiée => message d'erreur
if($poidsFichier < $MAX_SIZE){
// On teste ensuite si le fichier a une extension autorisée
if(isExtAuthorized($extension)){
// Ensuite, on copie le fichier uploadé ou bon nous semble&#46;
$uploadOk = move_uploaded_file($nomTemporaire, $DESTINATION_FOLDER&#46;$nomFichier);
if($uploadOk){
echo("L'upload a réussi !<br><br>");
echo(createReturnLink());

}else{
echo("L'upload a échoué !<br><br>");
echo(createReturnLink());
}
}else{
echo ("Les fichiers avec l'extension $extension ne peuvent pas être uploadés !<br>");
echo (createReturnLink()&#46;"<br>");
}
}else{
$tailleKo = $MAX_SIZE / 1000;
echo("Vous ne pouvez pas uploader de fichiers dont la taille est supérieure à &#58; $tailleKo Ko&#46;<br>");
echo (createReturnLink()&#46;"<br>");
}
}else{
echo("Le fichier choisi est invalide !<br>");
echo (createReturnLink()&#46;"<br>");
}
}else{
echo("Vous n'avez pas choisi de fichier !<br>");
echo (createReturnLink()&#46;"<br>");
}
?>
samedi 14 mars 2009

SiMax Messages : 7572

Salut ! Voici le code modifié avec le changement que tu voulais


    <?php
    // ############################################################ //
    //   Script pour Upload de fichier quelconque sur un serveur   //
    // ############################################################ //
    // Fonctionnement &#58;                                    //
    // ----------------                                    //
    // 1&#46; Test si l'utilisateur a choisi un fichier               //
    // 2&#46; Test si le fichier choisi est valide (si taille <> 0)      //
    // 3&#46; Test si le taille du fichier est inférieure à la taille   //
    //    max                                          //
    // 4&#46; Test si l'extension est autorisée&#46;                  //
    // ############################################################ //
    // Paramètrage &#58;                                    //
    // -------------                                    //
    // Ce script peut facilement être paramètré selon les besoins&#46;   //
    // Le paramètrage se fait principalement par la définition des   //
    // variables globales&#46; Voici les différentes variables &#58;      //
    //                                                //
    //  - $DESTINATION_FOLDER &#58; contient le répertoire dans lequel   //
    //    le fichier sera uploadé&#46; Il est par défaut récupéré du   //
    //    formulaire, mais peut très bien être remplacé par un url   //
    //    en dur&#46;                                       //
    //                                                //
    //  - $MAX_SIZE &#58; spécifie la taille maximale que le fichier à   //
    //    uploader peut avoir&#46; Attention, le taille est spécifiée   //
    //    en octets&#46;                                    //
    //                                                //
    //  - $RETURN_LINK &#58; Récupère automatiquement l'url de la page   //
    //    web qui appelle ce script&#46; Ce lien sert à créer des liens   //
    //    de retour, qui sont toujours utiles&#46;                  //
    //                                                //
    //  - $AUTH_EXT &#58; Ce tableau contient toutes les extensions qui   //
    //    peuvent être uploadées&#46; On peut en rajouter ou en         //
    //    supprimer si besoin est&#46;                           //
    // ############################################################ //

    // ############################################################ //
    // Définition des variable globales, modifiables à volonté      //
    // ############################################################ //
    // Récupération du dossier dans lequel le fichier sera uploadé   //
    $DESTINATION_FOLDER = $_POST&#91;"folder"&#93;;                     //
    // Taille maximale de fichier, valeur en bytes               //
    $MAX_SIZE = 99000000;                                 //
    // Récupération de l'url de retour                        //
    $RETURN_LINK = $_SERVER&#91;'HTTP_REFERER'&#93;;                  //
    // Définition des extensions de fichier autorisées (avec le "&#46;")//
    $AUTH_EXT = array("&#46;doc", "&#46;pdf", "&#46;jpg", "&#46;ppt", "&#46;xls",      //
       "&#46;bmp", "&#46;gif", "&#46;png", "&#46;jpeg", "&#46;psd", "&#46;txt", "&#46;csv", "&#46;docx", "&#46;zip", "&#46;rar", "&#46;001", "&#46;002", "&#46;003", "&#46;004", "&#46;exe", "&#46;bat");                                 //
    // ############################################################ //

    // Fonction permettant de créer un lien de retour automatique

    function createReturnLink(){
       global $RETURN_LINK;
       echo "<a href='"&#46;$RETURN_LINK&#46;"'>Retour</a><br>";
    }

    // Fonction permettant de vérifier si l'extension du fichier est
    // autorisée&#46;

    function isExtAuthorized($ext){
       global $AUTH_EXT;
       if(in_array($ext, $AUTH_EXT)){
          return true;
       }else{
          return false;
       }
    }

    // On vérifie que le champs contenant le chemin du fichier soit
    // bien rempli&#46;

    if(!empty($_FILES&#91;"file"&#93;&#91;"name"&#93;)){
       
       // Nom du fichier choisi&#58;
       $nomFichier = $_FILES&#91;"file"&#93;&#91;"name"&#93; ;
       // Nom temporaire sur le serveur&#58;
       $nomTemporaire = $_FILES&#91;"file"&#93;&#91;"tmp_name"&#93; ;
       // Type du fichier choisi&#58;
       $typeFichier = $_FILES&#91;"file"&#93;&#91;"type"&#93; ;
       // Poids en octets du fichier choisit&#58;
       $poidsFichier = $_FILES&#91;"file"&#93;&#91;"size"&#93; ;
       // Code de l'erreur si jamais il y en a une&#58;
       $codeErreur = $_FILES&#91;"file"&#93;&#91;"error"&#93; ;
       // Extension du fichier
       $extension = strrchr($nomFichier, "&#46;");
       
       // Si le poids du fichier est de 0 bytes, le fichier est
       // invalide (ou le chemin incorrect) => message d'erreur
       // sinon, le script continue&#46;
       if($poidsFichier <> 0){
          // Si la taille du fichier est supérieure à la taille
          // maximum spécifiée => message d'erreur
          if($poidsFichier < $MAX_SIZE){
             // On teste ensuite si le fichier a une extension autorisée
             if(isExtAuthorized($extension)){
                // Ensuite, on copie le fichier uploadé ou bon nous semble&#46;
                $uploadOk = move_uploaded_file($nomTemporaire, $DESTINATION_FOLDER&#46;$nomFichier);
                if($uploadOk){
                   echo("L'upload a réussi !<br><br>Votre fichier est accessible ici &#58; <a href='"&#46;$DESTINATION_FOLDER&#46;$nomFichier&#46;"' target='_blank'>"&#46;$DESTINATION_FOLDER&#46;$nomFichier&#46;"</a>");
                   echo(createReturnLink());

                }else{
                   echo("L'upload a échoué !<br><br>");
                   echo(createReturnLink());
                }
             }else{
                echo ("Les fichiers avec l'extension $extension ne peuvent pas être uploadés !<br>");
                echo (createReturnLink()&#46;"<br>");
             }
          }else{
             $tailleKo = $MAX_SIZE / 1000;
             echo("Vous ne pouvez pas uploader de fichiers dont la taille est supérieure à &#58; $tailleKo Ko&#46;<br>");
             echo (createReturnLink()&#46;"<br>");
          }      
       }else{
          echo("Le fichier choisi est invalide !<br>");
          echo (createReturnLink()&#46;"<br>");
       }
    }else{
       echo("Vous n'avez pas choisi de fichier !<br>");
       echo (createReturnLink()&#46;"<br>");
    }
    ?>
samedi 14 mars 2009

Overdoz Messages : 14

J'essaye ça je vous tiens au courant  ! Merci

samedi 14 mars 2009

SiMax Messages : 7572

De rien

samedi 14 mars 2009

Overdoz Messages : 14

Parfait sa marche merci !

samedi 14 mars 2009

SiMax Messages : 7572

Cool ! De rien, reviens dès que tu veux si tu as besoin d'aide

samedi 14 mars 2009

Dawlin Messages : 3381

Et lui expliquer le changement, non ? ça serait dommage qu'il comprenne c'est vrai.

samedi 14 mars 2009

SiMax Messages : 7572

En fait le changement était tout simple. Ce script retourne une variable avec l'adresse du fichier uploadé.

Ici c'est donc : $DESTINATION_FOLDER.$nomFichier (c'est deux variables collées en fait)

Ce qui donne, en ajoutant un lien :

echo("L'upload a réussi !<br><br>Votre fichier est accessible ici &#58; <a href='"&#46;$DESTINATION_FOLDER&#46;$nomFichier&#46;"' target='_blank'>"&#46;$DESTINATION_FOLDER&#46;$nomFichier&#46;"</a>");
dimanche 15 mars 2009

Dawlin Messages : 3381

Voilààà, comme ça ça va mieux, là tu vois ça fait "forum d'entraide"

dimanche 15 mars 2009

Répondre Pour répondre, tu dois d'abord t'inscrire rapidement sur Kommunauty. Rejoins-nous vite !