Page 1 sur 1
Formulaire - Chemin d'acces au fichier.
Posté : 17 juil. 2008, 20:35
par Pierre94200
Bonjour,
Je voudrai stocker dans un champ ma base de donnée le chemin d'acces a un fichier (par exemple c:/Mes Documents/fichier/ ) ou a un dossier pour un reseau local.
Est il possible à l'utilisateur du site d'indiquez dans un formulaire le chemin grace à un bouton parcourir et de stocker ce chemin d'acces dans un champ de ma base ?
Merci
Posté : 17 juil. 2008, 20:51
par Sékiltoyai
Dis moi, à quoi peut bien te servir de stocker un chemin local sur ton serveur ?
Posté : 17 juil. 2008, 21:51
par Pierre94200
Ce site est seulement pour un reseau local.
Ma base de donnée comporte differents articles.
Lorsque je clique sur un article, une page s'ouvre ou les caracteristique de cette article s'affiche. (Pour cela j'ai créer une page type, et j'affiche les donnée en les lisant dans ma bdd). Dans ma bdd, j'ai ausi un champ photo, je voudrai qu'il contienne le chemin d'acces du ficher par exemple $data['photo']="C:/Mes documents/photo.jpg".
Pour afficher l'image je me servirai de <IMG SRC="file:///<?php echo $donnees['photo']; ?>">.
Je voudrai pouvoir changer l'image directement via un formulaire. J'ai déja créer un formulaire qui permet de modifier les champs de ma bdd mais je bloque sur celui la.
J'espere que j'ai reussi a me faire comprendre :/
Posté : 17 juil. 2008, 22:23
par orgerix
Les chemins d'accès contiennent des caractères spéciaux qu'il faut echapper. La fonction mysql_real_escape_string() peut être utiliser (d'ailleur, il faut toujours l'utiliser quand tu utilise des données provenant de l'utilisateur).
Cependant, peut être que la configuration de PHP active les magic_quote et dans ce cas, les caractères spéciaux sont automatiquement échappés. Associé avec mysql_real_ecape_string(), l'antislash d'échappement sera lui aussi echappé et donc tu te retrouvera avec tous tes antislash en double.
Sinon, c'est une chaine de caractère comme toutes les autres et don tu ne devrais pas avoir de problème.
Le bouton parcourir lui est associé à un champs de type fichier et ne fais qu'indiquer au navigateur quel fichier il doit envoyer. A ma connaissance, il n'envoie pas l'emplacement d'origine. Si tu veux un interface comme celui la, il faut que tu le dévellope toi même, ou que tu trouve un outil de gestion de fichier en ligne que tu retouchera pour faire ce que tu veux.
Posté : 17 juil. 2008, 22:27
par Pierre94200
Le bouton parcourir lui est associé à un champs de type fichier et ne fais qu'indiquer au navigateur quel fichier il doit envoyer. A ma connaissance, il n'envoie pas l'emplacement d'origine. Si tu veux un interface comme celui la, il faut que tu le dévellope toi même
Oui justement, c'est ca ma question, mais je vois aucun moyen de le faire :/
Posté : 17 juil. 2008, 23:11
par orgerix
La, ca commence a devenir assez compliqué. Ca demande des connaissances, outre en PHP, de javascript et AJAX.
Grosso modo, ce qu'il faut faire, c'est :
- Prendre un répertoire de base. Tu liste les fichiers et les dossiers à l'interieur que tu affiche(PHP)
- Si l'utilisateur veut ouvrir un dossier, il faut déclencher une fonction sur un évenement (double clique par exemple) qui ira interroger un autre script en demandant de fournir le contenu (AJAX)
- Une fois la réponse reçu, il faut afficher le contenu du dossier et mémoriser le chemin d'accès (javascript)
- Une fois le fichier trouvé, il faut envoyer un formulaire à un dernier script PHP (javascript)
- Enfin, il faut modifier la BD en conséquance (PHP+ SQL)
Voila grosso modo les étapes telles que je les conçois J'ai mis entre parenthèse le langage ou technologie à utiliser. IL faut aussi prévoir la possibilité de retour en arrière, et pourquoi pas, une saisi semi-manuelle.
Posté : 19 juil. 2008, 18:23
par Invité
Ca me parait un peu compliqué vu mon niveau actuel en php.
Je pense que je vais rentrer le chemin vers le nom du fichier à la main dans une zone de texte, mais quel fonction je dois utiliser pour gerer les / ?