Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/12/2006, 12h05   #1
Membre régulier
 
Avatar de bilou95
 
Inscription : septembre 2006
Messages : 433
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 433
Points : 79
Points : 79
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
bilou95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2006, 12h17   #2
Inscrit
 
Avatar de is_null
 
Inscription : octobre 2006
Messages : 637
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 637
Points : 690
Points : 690
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
__________________
Q: Dois-je haïr et cogner sur Microsoft ?
R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma.
Comment devenir un hacker ? par Eric Steven Raymond
is_null est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2006, 12h21   #3
Membre actif
 
Inscription : juillet 2003
Messages : 257
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 257
Points : 162
Points : 162
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é
SegmentationFault est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2006, 13h06   #4
Membre régulier
 
Avatar de bilou95
 
Inscription : septembre 2006
Messages : 433
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 433
Points : 79
Points : 79
Je n'y arriverai jamais ...

grgrgrgrgrgr ...
bilou95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2006, 13h26   #5
Membre habitué
 
Avatar de Akramweb
 
Inscription : avril 2005
Messages : 168
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 168
Points : 125
Points : 125
Envoyer un message via MSN à Akramweb
bonjour,
si tu veux tu peux utiliser des bouton radio ou tu vas mettre dans la valeur du champ le nom du repertoire.
__________________
Parle peu, et fais beaucoup
Akramweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2006, 17h54   #6
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
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 :
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 :
$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 :
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 :
1
2
 
if($_POST['stock']=="repertoire1"){$stock="../ton/repertoire/de/destination/1";}
Et voilà !
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2007, 17h24   #7
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
Donc, ça a marché ou pas ?
__________________
GAMIN !!!!
_______________________________________________
PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2007, 20h58   #8
Membre chevronné
 
David DRAPEAU
Consultant OpenERP
Inscription : juin 2003
Messages : 807
Détails du profil
Informations personnelles :
Nom : David DRAPEAU

Informations professionnelles :
Activité : Consultant OpenERP

Informations forums :
Inscription : juin 2003
Messages : 807
Points : 728
Points : 728
Envoyer un message via MSN à zyongh Envoyer un message via Skype™ à zyongh
Par défaut correction de code

Citation:
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.

Citation:
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 :
1
2
3
4
5
6
7
switch($_POST['stock']{
    case 'repertoire1':
        $stock="../ton/repertoire/de/destination/1";
        break;
    case 'repertoire2':
        // etc... 
}
zyongh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2007, 09h18   #9
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
@ 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 !
__________________
GAMIN !!!!
_______________________________________________
PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2007, 13h07   #10
Membre chevronné
 
David DRAPEAU
Consultant OpenERP
Inscription : juin 2003
Messages : 807
Détails du profil
Informations personnelles :
Nom : David DRAPEAU

Informations professionnelles :
Activité : Consultant OpenERP

Informations forums :
Inscription : juin 2003
Messages : 807
Points : 728
Points : 728
Envoyer un message via MSN à zyongh Envoyer un message via Skype™ à zyongh
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.
zyongh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/01/2007, 09h17   #11
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
Merci Zyongh !

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

A+
__________________
GAMIN !!!!
_______________________________________________
PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h45.


 
 
 
 
Partenaires

Hébergement Web