IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Upload] Upload fichiers - choisir son répertoire de destination


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de bilou95
    Inscrit en
    Septembre 2006
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 433
    Par défaut [Upload] Upload fichiers - choisir son répertoire de destination
    Bonjour,

    A partir de cette URL je peux m'aider de cela pour construire une premiere ebauche (http://php.developpez.com/faq/?page=...ichiers_upload)

    Par contre est il possible de choisir son repertoire de destination lorsque l'on veut monter une zone de téléchargement sur un site intranet ?

    Merci

  2. #2
    Membre émérite

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Par défaut
    C'est possible dans php.ini, sinon, l'usage de move_uploaded_file est recommandé : http://fr2.php.net/manual/fr/functio...oaded-file.php

  3. #3
    Membre éclairé
    Homme Profil pro
    Responsable d'une MOE bancaire
    Inscrit en
    Juillet 2003
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Responsable d'une MOE bancaire

    Informations forums :
    Inscription : Juillet 2003
    Messages : 261
    Par défaut
    il s'agit du parametre upload_tmp_dir dans php.ini, mais il faut ensuite les deplacer dans un autre repertoire comme is_null t'as expliqué

  4. #4
    Membre éclairé Avatar de bilou95
    Inscrit en
    Septembre 2006
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 433
    Par défaut
    Je n'y arriverai jamais ...

    grgrgrgrgrgr ...

  5. #5
    Membre confirmé Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Par défaut
    bonjour,
    si tu veux tu peux utiliser des bouton radio ou tu vas mettre dans la valeur du champ le nom du repertoire.

  6. #6
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    Ben en fait, j'ai essayé dans ma boîte pour mettre les fichiers sur différents disque réseaux, et c'est possible à condition d'avoir les droits!!!

    En fait, tu peux faire un <select> dont la valeur sera le chemin d'accès au dossier que tu veux (en partant de l'endroit où s'exécute ton script).

    Ensuite, pour reprendre ta source d'inspiration, tu donnes la valeur choisie à ta variable $stock.

    Solution 1
    Soit tu donnes la valeur dans ton formulaire HTML (pas recommandé)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <select name="stock" size=1>
    <option value="../ton/repertoire/de/destination/1">Répertoire 1
    <option value="../ton/repertoire/de/destination/2">Répertoire 2
    <option value="../ton/repertoire/de/destination/3">Répertoire 3
    </select>
    et dans ta partie traitement tu affectes la valeur comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $stock=$_POST['stock'];
    Solution 2
    tu donnes à ton select une valeur que tu récupèreras pour faire ton chemin d'accès dans ta partie traitement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <select name="stock" size=1>
    <option value="repertoire1">Répertoire 1
    <option value="repertoire2">Répertoire 2
    <option value="repertoire3">Répertoire 3
    </select>
    et dans la partie traitement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if($_POST['stock']=="repertoire1"){$stock="../ton/repertoire/de/destination/1";}
    Et voilà !

  7. #7
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    Donc, ça a marché ou pas ?

  8. #8
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut correction de code
    et dans ta partie traitement tu affectes la valeur comme ça :
    Code :

    $stock=$_POST['stock'];
    Avant tu mets . C'est pour une question de sécurité et tu fais aussi une vérification de la donnée saisie par l'utilisateur.

    Solution 2
    tu donnes à ton select une valeur que tu récupèreras pour faire ton chemin d'accès dans ta partie traitement :
    Code :

    <select name="stock" size=1> <option value="repertoire1">Répertoire 1 <option value="repertoire2">Répertoire 2 <option value="repertoire3">Répertoire 3 </select>

    et dans la partie traitement :
    Code :

    if($_POST['stock']=="repertoire1"){$stock="../ton/repertoire/de/destination/1";}
    Si tu as un grand nombre de répertoire, mieux vaut utiliser les switch-case

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    switch($_POST['stock']{
        case 'repertoire1':
            $stock="../ton/repertoire/de/destination/1";
            break;
        case 'repertoire2':
            // etc... 
    }

  9. #9
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    @ Zyongh
    Merci pour ces précisions, je vais corriger mon code de suite.

    J'ai juste pas compris pourquoi il fallait que je mette Tu veux dire que je le mets avant et qu'ensuite je lui affecte la valeur postée?

    Merci !

  10. #10
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut oui c'est exactement ça
    Tu as tout compris Gamin!!!

    En fait tu dois toujours vérifier toutes les données afin d'éviter les attaques XSS et autres injections SQL qui ne se limitent pas du tout aux quelques exemples que l'on peut appendre dans tous les magazines en vente en librairie.


    Tu dois aussi toujours affecter NULL aux valeurs avant de les tester car si quelqu'un arrive sur ta page de traitement par le biais d'un script exécuté sur un autre serveur, tu seras protégé.

    Il y a plein d'autres astuces, mais il faudrait une encyclopédie pour tout expliquer.

  11. #11
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    Merci Zyongh !

    J'ai encore pas mal de choses à apprendre avant d'être un vrai développeur... Mais je travaille dur !

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Uploader un fichier dans un répertoire
    Par grimmjow69 dans le forum Ext JS / Sencha
    Réponses: 8
    Dernier message: 29/07/2013, 18h58
  2. [AJAX] Uploader un fichier avec son ID
    Par Stalk3R dans le forum AJAX
    Réponses: 2
    Dernier message: 02/07/2012, 19h52
  3. [Upload] Uploader un fichier dans un répertoire spé !
    Par .:Djil:. dans le forum Langage
    Réponses: 2
    Dernier message: 11/07/2006, 13h34
  4. Upload 1 fichier,seulement son nom et pas toute l'adresse
    Par nebil dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 12/04/2006, 15h05
  5. [FTP] Comment uploader un fichier d'un répertoire à l'autre ?
    Par Devil666 dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 08/07/2005, 09h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo