Comment ouvrir un dossier sous explorer avec un chemin virtuel

Résolu
PBDLpc Messages postés 31 Date d'inscription lundi 9 octobre 2000 Statut Membre Dernière intervention 2 octobre 2005 - 3 mars 2005 à 17:12
JeanPoldeux Messages postés 64 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 5 août 2005 - 4 mars 2005 à 02:15
bonjour,
dans mon stage je dois développer une base de données des pilotes des machines.

les centres se connectent à un serveur par intranet et peuvent choisir le pilote qu'il veulent installer.

la base de données est en mysql et le site des pilotes est en php.

le problème est que lorsque le client clique sur l'os du pilote d'un composant, en passant par internet explorer, internet explorer ouvre l'explorateur de dossier windows sur le dossier du pilote qui se situe sur le même serveur. seulement je ne sais pas ou la page de téléchargement se situera sur le serveur et la page est suceptible de changer de dossier sur le serveur.

lorsque je met en lien [file:///c:/drivers/hewlettpackard/referenceimprimante/ file:///c:/drivers/hewlettpackard/referenceimprimante/] le dossier s'ouvre
mais lorsque je met [file:///drivers file:///drivers/hewlettpackard/referenceimprimante/] , la page internet etant sur c:\ le dossier ne s'ouvre pas.

avez-vous une idée pour savoir dans quel dossier la page est située ou comment ouvrir un dossier dans l'explorateur windows avec un chemin relatif.

merci d'avance

1 réponse

JeanPoldeux Messages postés 64 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 5 août 2005
4 mars 2005 à 02:15
Il y a plusieurs solutions:



Soit tu déclares en début de script ou dans un fichier de configuration
que tu inclus dans le script, une constance égale au chemin absolu vers
le répertoire du pilote. Tu pourras alors utiliser la constante autant
de fois que nécessaire et n'auras qu'une ligne à modifier en cas de
changement de répertoire.

<?php

//pour la constante

define("PILOTS_PATH","c:/drivers/hewlettpackard/referenceimprimante/");



//Pour le lien

echo "Lien vers le r&eacute;pertoire des pilotes";


?>



Soit tu utilises des chemins relatifs. Pour ce faire,

. ===> indique le répertoire actuel de la page

..
=> indique le répertoire parent de la page



Donc si ton répertoire pilote se trouve dans
file:///c:/drivers/hewlettpackard/referenceimprimante/ et que ton script se trouve dans
file:///c:/www/gestionnaire/ , le lien pourra être


file:///
./../../
drivers/hewlettpackard/referenceimprimante/



Le top serait de mélanger les deux techniques.



De plus, il existe en PHP une pléade de fonctions prédéfinies qui
permettent de gérer un système de fichier et notamment de connaître le
répertoire dans lequel se trouve le script qui est exécuté.

Par exemple:

getcwd() permet de récupérer le répertoire de travail.

chdir($repertoire) permet de modifier le répertoire de travail

basename($chemin_absolu) permet d'extraire uniquement le nom du fichier lorsque celui est précédé de son chemin complet

etc., etc.




Jean Poldeux



Every problem has a solution. The difficulty is to find it
3
Rejoignez-nous