Chemin absolu vers le fichier html. Chemin absolu et relatif vers le fichier


votre site existe en deux dimensions, pour ainsi dire.
Réel et virtuel.

Pour tous les visiteurs, il s'agit d'un serveur Web virtuel. Ce qui diffère, entre autres, en ce qu'AUCUN FICHIERS N'EXISTE dessus. si tu écris %20" target="_blank">http://site.ru/file.html- ce n'est pas un fichier. Il s'agit d'un URI, d'une adresse virtuelle. Il se peut qu'il n'y ait aucun fichier nommé file.html sur le serveur. Ce sont toutes des adresses virtuelles, pas des fichiers.
Et le navigateur fonctionne spécifiquement avec des adresses.

Pour un développeur, un site Web est un programme exécuté sur un ordinateur réel très spécifique. Avec un disque dur, des répertoires et des fichiers bien spécifiques. Et le script, travaillant avec ses données, chargeant d'autres scripts, fonctionne avec de vrais FICHIERS, sur un DISQUE physique.

C’est dans cette différence que résident les difficultés que rencontrent souvent les débutants.
Ils perdent des fichiers, confondent les liens avec les fichiers, accèdent aux fichiers locaux via HTTP ou incluent des fichiers depuis la racine du serveur Web.

Mais il vous suffit de bien comprendre deux choses :
1. Faites la distinction entre la racine du serveur Web, telle que vue par le navigateur, et la racine du système de fichiers sur le disque.
2. Différence entre les chemins relatifs et les chemins absolus.

Commençons par le deuxième.
C'est très simple. Si le chemin est spécifié à partir de la racine du système, il s'agit alors d'un chemin absolu. C'est comme une adresse postale dans la vraie vie : peu importe où vous allez, mais avec l'adresse exacte, vous trouverez toujours le bon endroit.
exemples de chemins absolus :
/var/www/site/forum/index.php
/img/frame.gif
depuis :\windows\command.com

Dans les systèmes Unix et sur les sites Web, la racine est indiquée par une barre oblique - "/".
C'est important. Ce n'est pas seulement un bâton, mais une ADRESSE indépendante, un chemin.
Dans l'adresse %20" target="_blank">http://www.site.ru/ le dernier coup n'est pas pour la beauté ! Il désigne une adresse très précise – le début du site.
Sur un disque dans les systèmes Unix, vous pouvez également taper « cd / » et vous serez redirigé vers le répertoire racine.
Dans les systèmes Windows, le système de fichiers est divisé en disques. L'adresse absolue doit donc indiquer le nom du disque. Il n'y a pas de racine absolue de l'ensemble du système de fichiers sous Windows ; chaque disque a la sienne. Par exemple, C:\E:\
par conséquent, même si le chemin dans Windows commence par une barre oblique, ce n'est pas un chemin absolu, mais relatif. Par rapport au disque actuel. Et l'absolu commence par une lettre.

Si la racine n'est pas spécifiée au début du chemin, alors ce chemin sera relatif et il est dérivé de la position actuelle. Dans la vraie vie, c'est comme la route qui mène au magasin d'alcool : « deux pâtés de maisons à gauche et tout droit tout le temps ». Ce chemin n'est accessible qu'à partir d'un point précis. De l’autre, vous vous retrouverez dans un endroit complètement différent.
L'exemple le plus simple de chemin relatif est simplement un nom de fichier.
Si le fichier se trouve dans le même répertoire que celui avec lequel le programme travaille, il le trouvera en ajoutant le chemin actuel au nom du fichier.
exemples de chemins relatifs :
file.php (le fichier est dans le même dossier)
./file.php (le fichier se trouve dans le même dossier. Une telle entrée est parfois requise sur certains systèmes Unix)
images/picture.jpg (le fichier se trouve dans le dossier images, qui se trouve dans celui actuel)
../file.php (le fichier se trouve dans un dossier situé un niveau plus haut que celui actuel)
../../file.php (le fichier se trouve dans un dossier situé deux niveaux plus haut que celui actuel)

Le système d'exploitation et le navigateur, lorsqu'ils rencontrent un chemin relatif, le transforment en chemin absolu. mais chacun à sa manière.

Passons maintenant au premier point.
La différence entre la racine du serveur Web, vue par le navigateur, et la racine du système de fichiers sur le disque.
De manière générale, tout devrait ressortir clairement des explications précédentes.
Sur le disque, le chemin d'accès au fichier script peut ressembler à ceci :
/var/www/site/forum/index.php
Dans le même temps, l'adresse virtuelle de ce script lorsqu'il est visualisé via un navigateur sera :
%20" target="_blank">http://www.site.ru/forum/index.php
Dans cet exemple, il est facile de voir où se croisent les deux dimensions : les deux adresses ont une partie commune - /forum/index.php - et c'est ce qui provoque la confusion.
Pour le navigateur, c’est le chemin le plus complet possible. Cela commence à la racine du site.
Pour un script exécuté sur le serveur, il ne s'agit que d'une PARTIE du chemin.
pour le script, le chemin /forum/index.php sera inexistant - il n'y a pas de répertoire forum à la racine du disque !
pour obtenir le chemin complet de ce qui ressemble à /forum/index.php sur le site, vous devez ajouter à gauche le chemin d'accès au dossier qui est considéré comme la racine de l'ensemble du serveur Web.
dans notre exemple c'est
/var/www/site
Ce chemin est défini dans la configuration du serveur Web et est contenu dans la variable système PHP $_SERVEUR["DOCUMENT_ROOT"]

Dans un serveur virtuel - celui que voit l'utilisateur - au contraire, il n'y a pas de disque. Il existe une racine du site. Autrement dit, pour qu'un lien soit garanti de fonctionner, quel que soit l'endroit du site à partir duquel il est appelé, il doit être absolu.
Si vous avez, disons, deux sections sur votre site Web :
%20" target="_blank">http://www.site.ru/about/info.php
Et
%20" target="_blank">http://www.site.ru/job/vacancy.php
ensuite, si vous créez un lien dans le fichier info.php simplement vers vacancy.php , le navigateur ne le trouvera pas - il cherchera l'adresse %20," target="_blank">http://www.site.ru/about/vacancy.php, complétant le chemin du répertoire actuel.
Par conséquent, vous devez écrire le chemin complet à partir de la racine du site - /job/vacancy.php
Bien entendu, tout cela ne s'applique pas seulement aux balises mais aussi et tous les autres où des liens vers d'autres fichiers sont utilisés.

Les liens vers des adresses locales doivent être écrits sans spécifier le protocole et le domaine - uniquement le chemin depuis la racine du site - /job/vacancy.php. Les liens vers d'autres sites doivent être rédigés dans leur intégralité - %20." target="_blank">http://www.site1.ru/job/vacancy.php .

PHP fournit de nombreux outils pour travailler avec des fichiers, des répertoires et des URL.

La constante __FILE__ contient le nom du fichier exécutable actuel.
Contrairement à PHP_SELF, il contient le nom du fichier en cours d'exécution.
Le design semble très utile répertoire(__FILE__), par lequel il est souhaitable de remplacer tous les appels aux fichiers situés dans le même répertoire que le script appelant. Par exemple:
nécessite un nom de répertoire (__FILE__). "/init.php"
La fonction dirname(), avec basename(), est l'une des fonctions les plus couramment utilisées pour travailler avec des fichiers et des répertoires.

Note:
S'il y a des problèmes avec les chemins lors du transfert de scripts de Windows vers un système Unix, faites tout d'abord attention à la casse des lettres. Sur les serveurs Unix, la casse des lettres dans le nom de fichier est importante ; File.txt et file.txt sont deux fichiers différents, mais sous Windows, ce sont les mêmes. Il est préférable de toujours écrire le nom du fichier exactement, en respectant la casse.

Comme vous le savez, dans le paramètre href de la balise (), vous devez spécifier le chemin d'accès au fichier référencé.
Beaucoup de gens écrivent quelque chose comme http://somesite.ru/catalog/doc.html. Oui, personne ne conteste, ça marche. Mais il y a un « mais ». Regardons un exemple.

Laissez votre site être hébergé, par exemple, sur un hébergement gratuit et son adresse était la suivante : http://fsite.freehosting.ru.
Il y a environ 100 documents sur le serveur. Et vous décidez donc de déplacer votre site Web vers un autre domaine,
que ce soit un hébergement payant dans la zone ru : http://site.ru. Eh bien, devrions-nous maintenant remplacer http://fsite.freehosting.ru par http://site.ru partout ?
Oui, grâce à des éditeurs comme homesite, c'est possible. Mais ce n'est pas une solution.
Supposons qu'avant de télécharger une page sur le serveur, vous vérifiiez sa fonctionnalité
sur votre serveur Apache domestique (pour ceux qui ne savent pas encore ce qu'est un « serveur domestique », allez ici (Installer et configurer un serveur Apache), et à la place de http://localhost vous devrez écrire http:// site.ru partout. D'accord avec cela, au moins c'est gênant.

La solution est, lors de la spécification du chemin d'accès à un fichier, de prendre en compte non pas sa position sur le site, mais sa position sur le serveur.

Chemin absolu

Prenons, par exemple, le fichier doc.html, qui se trouve à l'adresse : http://somesite.ru/catalog/doc.html. Sur le serveur, comme vous le savez, il existe un dossier www. Comme nous pouvons le voir d'après l'adresse, ce dossier contient le dossier catalogue, et il contient déjà le fichier doc.html.

Si, lors de la spécification du chemin d'accès à un fichier, vous mettez / avant l'adresse, alors cela ressemblera à ce qui suit : root_directory_in_the_north/www/path to the file.
Autrement dit, http://somesite.ru/catalog/doc.html est similaire à ce qui suit : /catalog/doc.html.
Ainsi, lorsqu’il y a un / devant l’adresse, cela signifie que le « compte à rebours » démarre depuis l’annuaire www.
Désormais, au lieu de http://localhost/index.html, vous pouvez écrire /index.html à partir de n'importe quel document.
Mais pour accéder au répertoire cgi, vous devez écrire comme ceci : /cgi-bin/path to the file.

Les chemins créés à l'aide des méthodes décrites ci-dessus sont appelés absolus, car le chemin absolu (complet) du fichier sur le serveur est indiqué.

Chemin relatif

Il existe également des chemins relatifs, qui sont spécifiés par rapport au document lui-même d'où provient le lien.
Par exemple, si vous créez un lien dans doc.html newcat/new.html, cela implique que le fichier new.html se trouve dans le répertoire newcat, qui, à son tour, se trouve dans le même répertoire que le fichier doc.html. Comme vous pouvez le constater, ce chemin est relatif au fichier doc.html. Où que se trouve ce fichier, le chemin newcat/new.html sera toujours valide si le fichier doc.html et le répertoire newcat sont au même niveau (c'est-à-dire dans le même répertoire).

Vous pouvez également remonter d'un répertoire par rapport à un document. Pour ce faire, vous devez écrire ../.
Par exemple, il existe un grand répertoire, il contient deux répertoires : primaire et secondaire. Le répertoire principal contient le fichier doc.html déjà familier ; et dans le répertoire secondaire il y a un fichier new.html. Afin de créer un lien du fichier doc.html vers le fichier new.html, vous devez écrire ../secondary/new.html. Mais si le grand répertoire se trouve dans le répertoire www, alors le chemin d'accès au fichier new.html pourrait être spécifié comme ceci : /big/secondary/new.html

Au lieu de conclure, il convient de dire que l'utilisation de chemins absolus et relatifs facilite grandement le travail des webmasters, qu'ils soient débutants ou professionnels. Profitez donc de cette opportunité, comme on dit, au maximum et essayez d'éviter les chemins comme http://site.ru/catalog/file.file, ou au moins de recourir à leur aide aussi rarement que possible.

Bon Mauvais

Vous rencontrez chaque jour des chemins pour trouver vos données et vos ensembles d’outils. Cette section fournit une description détaillée des chemins, définit les différents types de chemins et montre comment les utiliser dans ArcGIS.

façons

Chemin

Un chemin est le nom d'un répertoire ou d'un fichier, séparé par des barres obliques inverses. Un répertoire est identique à un dossier dans l'Explorateur Windows.

E:\Data\MyStuff (chemin se terminant par un nom de répertoire) E:\Data\MyStuff\roads.shp (chemin se terminant par un nom de fichier)

chemin

Vous pouvez rencontrer deux orthographes de chemin : "nom de chemin" et "nom de chemin". Toutes les orthographes de chemin (Chemin, nom de chemin et nom de chemin) sont des synonymes.

Chemin du système et chemin du répertoire

ArcGIS utilise le terme « chemin du catalogue » ou « chemin ArcCatalog ». Le chemin du répertoire est un chemin reconnu uniquement par ArcGIS. Par exemple:

D:\Data\Final\Infrastructure.gdb\EastValley\powerlines

fait référence à la classe d'entités lignes électriques dans l'ensemble d'entités EastValley dans la géodatabase fichier Infrastructure. Ce chemin n'est pas un chemin système valide du point de vue du système d'exploitation, car Windows ne reconnaît pas les jeux de données d'entité et les classes situés dans une géodatabase fichier. Bien entendu, ArcGIS fonctionne avec des chemins de répertoire.

Espace de travail et nom de base

Les chemins de répertoire se composent de deux parties : l'espace de travail et le nom de base, comme indiqué ci-dessous :

Emplacement

Emplacement est un terme général (voir par exemple : « Entrez l'emplacement de vos données » ou « Entrez l'emplacement de vos données »).

Barres obliques inverses et avant

Sous Windows, la barre oblique inverse (\) est utilisée comme séparateur de chemin. Les systèmes UNIX utilisent la barre oblique (/). Dans ArcGIS, la barre oblique utilisée lors de la spécification d'un chemin n'a pas d'importance. ArcGIS lira toujours correctement le chemin, quel que soit le caractère utilisé.

Barre oblique inverse lors de l'écriture du script

Les langages de programmation dont les racines sont UNIX et C, tels que Python, traitent la barre oblique inverse (\) comme un caractère de contrôle. Par exemple, \n correspond à un retour chariot. Les chemins d'accès pouvant contenir des barres obliques inverses, vous devez éviter de les reconnaître comme des caractères d'échappement. Il est courant d'utiliser des doubles barres obliques inverses, comme ceci :

thePath = "E: \\ data \\ telluride \\ newdata.gdb \\ pentes"

Une autre option pour convertir les chemins en chaînes Python à l'aide de la directive r est présentée ci-dessous. Cela amènera Python à ignorer les barres obliques inverses.

leChemin = r"E:\data\telluride\newdata.gdb\slopes"

Chemins absolus et relatifs

Chemin absolu ou complet

Un chemin absolu (ou complet) commence par une lettre de lecteur suivie de deux points, par exemple D :.

Chemin relatif

Un chemin relatif fait référence à un emplacement par rapport au répertoire actuel. Les chemins relatifs utilisent deux caractères spéciaux : le point (.) et le double point (..), qui sont utilisés respectivement pour accéder au répertoire actuel et au répertoire parent. Les points doubles sont utilisés pour monter d’un niveau. Un point signifie le répertoire actuel réel.

Dans la structure de dossiers ci-dessous, supposons que vous ayez utilisé l'Explorateur Windows pour accéder au dossier D:\Data\Shapefiles\Soils. Une fois que vous êtes passé à ce répertoire, le chemin relatif utilisera le répertoire D:\Data\Shapefiles\Soils comme répertoire courant (jusqu'à ce que vous passiez à un nouveau répertoire et qu'il devienne le répertoire courant). Le répertoire courant est parfois appelé dossier racine.

Si vous souhaitez accéder au dossier Landuse à partir du répertoire actuel (Soils), vous devez saisir le texte suivant dans la barre d'adresse de l'Explorateur Windows :

L'Explorateur Windows accédera au dossier D:\Data\Shapefiles\Landuse. D'autres exemples d'utilisation du dossier D:\Data\Shapefiles\Landuse comme dossier actuel sont présentés ci-dessous :

.. (D:\Data\Shapefiles) ..\.. (D:\Data) ..\..\Final (D:\Data\Final) . (D:\Data\Shapefiles\Landuse - le répertoire actuel) .\..\Soils (D:\Data\Final\Soils) ..\..\.\Final\..\Shapefiles\.\Landuse (D :\Données\Shapefiles\Landuse)

Note:

Vous ne pourrez pas saisir de chemins relatifs (à l'aide de points et de doubles points) dans les applications ArcGIS.

Un chemin relatif ne peut pas être étendu à d’autres lecteurs. Par exemple, si votre dossier actuel se trouve sur le lecteur D, vous ne pouvez pas utiliser de chemins relatifs pour accéder à un répertoire du lecteur E.

Chemins absolus et relatifs dans ArcMap

Lorsque vous créez un document ArcMap (ArcScene ou ArcGlobe), vous pouvez spécifier que les chemins relatifs soient enregistrés. Pour définir cette option, sélectionnez Fichier > Propriétés du document ArcMap. Ici, vous pouvez spécifier si vous stockerez des chemins absolus ou relatifs.


Lorsque vous enregistrez un document avec des chemins relatifs, l'application convertit les chemins en chemins relatifs (en utilisant un point et un double point) en fonction de l'endroit où vous avez enregistré le document (c'est-à-dire le répertoire actuel). Par exemple, si votre document est enregistré dans

D:\Maps\Posters\Newmap.mxd

et les données de l'une des couches sont

D:\Data\Final\Infrastructure.gdb\Streets

alors ce qui suit est écrit dans Newmap.mxd :

..\..\Data\Final\Infrastructure.gdb\Streets

Lorsque vous ouvrez à nouveau Newmap.mxd, ArcMap reconvertit les chemins relatifs enregistrés (notifiés par un point et deux points) en chemins absolus, qui sont affichés comme source de données de la couche. Cette conversion dépend toujours de l'emplacement du document ArcMap (répertoire courant).

Les chemins relatifs ne peuvent pas changer de lecteur. Autrement dit, si le répertoire racine se trouve sur le lecteur D, vous ne pourrez pas utiliser de chemins relatifs pour accéder à un répertoire sur le lecteur E. Si vous enregistrez un document ArcMap à l'aide de chemins relatifs, seuls ceux situés sur le même lecteur seront convertis et enregistrés.

Chemins absolus et relatifs dans les outils de modèle

Tout comme dans ArcMap, vous pouvez spécifier que les chemins relatifs seront enregistrés dans les outils de modèle.

  • Données du modèle
  • Images raster du modèle
  • Outils utilisés dans le modèle
  • Feuilles de styles
  • Fichiers de calques (.lyr) utilisés pour la légende

Pour enregistrer les chemins relatifs, cliquez avec le bouton droit sur l'outil de modèle, sélectionnez Propriétés, puis cliquez sur l'onglet Général. Au bas de la boîte de dialogue, activez l'option comme indiqué ci-dessous.


Seuls les chemins appartenant au même lecteur sont convertis

Les chemins relatifs ne peuvent pas changer de lecteur. Autrement dit, si le répertoire racine se trouve sur le lecteur D, vous ne pourrez pas utiliser de chemins relatifs pour accéder à un répertoire sur le lecteur E. Si vous enregistrez votre modèle en utilisant des chemins relatifs, seuls les chemins sur le même lecteur seront convertis et enregistrés.

Chemins absolus et relatifs dans les outils de script

Lors de l'utilisation de l'assistant Ajouter un script L'option permettant d'enregistrer les chemins relatifs apparaîtra dans le premier panneau. Vous pouvez également définir cette option en cliquant avec le bouton droit sur l'outil de script, en sélectionnant Propriétés, puis l'onglet Général. Au bas de la boîte de dialogue, sélectionnez Stocker les noms de chemins relatifs (au lieu des chemins absolus).

Le dossier actuel utilisé pour les chemins relatifs est le dossier qui contient la boîte à outils correspondante. L'option de chemin relatif convertit et enregistre les chemins vers :

  • Scénario
  • Ensembles de données utilisés dans la propriété de valeur par défaut
  • Fichiers référencés par les métadonnées de l'outil et l'aide
  • Fichiers de calque (.lyr) utilisés pour la propriété de légende
  • Fichiers d'aide compilés (.chm)
  • Feuilles de styles

Seuls les chemins appartenant au même lecteur sont convertis

Les chemins relatifs ne peuvent pas changer de lecteur. Autrement dit, si le répertoire racine se trouve sur le lecteur D, vous ne pourrez pas utiliser de chemins relatifs pour accéder à un répertoire sur le lecteur E. Si vous enregistrez votre outil de script en utilisant des chemins relatifs, seuls les chemins sur le même lecteur seront convertis et enregistrés.

Les chemins dans le script ne sont pas convertis

Vous ne pouvez pas utiliser de points et de doubles points dans les scripts. Par exemple, l'entrée suivante ne fonctionnera pas :

arcpy.AddField_management("..\redlands.mdb\streets", "ref_ID", "long", "9", "#", "#", \ "refcode", "NULLABLE", "REQUIRED", "# ")

parce que le chemin ..\redlands.mdb\streets est relatif.

Quel est l’intérêt d’utiliser des chemins relatifs plutôt que des chemins absolus ?

L'utilisation de chemins absolus se caractérise par les éléments suivants :

  • Vous pouvez déplacer un document ou une boîte à outils vers n'importe quel emplacement de votre ordinateur et les données seront toujours trouvées lorsque vous ouvrirez le document ou l'outil.
  • Sur la plupart des ordinateurs, l'emplacement des données ne change généralement pas. Autrement dit, vous ne déplacez généralement pas vos données d'un dossier à un autre. Généralement, des chemins absolus sont utilisés.
  • Vous pouvez référencer des données situées sur d'autres lecteurs.

Lorsque vous utilisez des chemins relatifs, vous devrez peut-être effectuer les ajustements suivants :

  • Lorsque vous déplacez un document ArcMap ou une boîte à outils, vous devez également déplacer les données auxquelles elles font référence.
  • Lors du transfert de documents, de kits d'outils et de données vers un autre utilisateur, des chemins relatifs doivent être utilisés. Dans le cas contraire, il faudra que l'ordinateur de l'utilisateur ait la même structure de répertoires que le vôtre.

Par exemple, prenons la structure des dossiers ci-dessous. Dans cet exemple, D:\Tools\Toolboxes\Toolbox1 contient l'outil de script D:\Tools\Scripts\MyScript.py .

Lorsque vous utilisez des chemins absolus, si vous déplacez la boîte à outils D:\Tools\Toolboxes\Toolbox1 vers un autre lecteur, tel que E:\Final\Toolbox1 , ArcGIS trouvera D:\Tools\Scripts\MyScript.py et tout ira bien. . Si vous utilisez des chemins relatifs, ArcGIS ne trouvera pas le script et l'outil ne fonctionnera pas. La boîte de dialogue de l'outil s'ouvrira, mais après l'avoir exécuté, vous recevrez un message d'erreur : "Le script associé à cet outil n'existe pas." Vous devez ouvrir les propriétés de l'outil et entrer le chemin correct vers le script.

D'un autre côté, si vous travaillez avec des chemins relatifs, vous pouvez simplement copier le dossier D:\Tools vers n'importe quel emplacement sur n'importe quel ordinateur et tout fonctionnera. Cela ne fonctionnera pas lors de l'utilisation de chemins absolus, puisqu'un autre utilisateur peut copier le dossier dans le répertoire F:\NewTools et le chemin D:\Tools\Scripts\MyScript.py ne sera naturellement pas trouvé sur son ordinateur.

Conclusion

  • Les chemins relatifs ne peuvent pas changer de lecteur.
  • Il est préférable d'utiliser des chemins absolus si les données ne seront pas transférées, comme c'est généralement le cas sur les disques d'ordinateurs personnels.
  • Les chemins relatifs sont utiles lorsque vous transférez des documents et des données vers un autre utilisateur.
  • Les chemins relatifs utilisent la notation par points et doubles points (. et ..). Vous pouvez saisir des chemins relatifs avec ces notations dans l'Explorateur Windows et l'invite de commande Windows.
  • ArcGIS ne vous permet pas de saisir des chemins relatifs à l'aide de la notation par points et par points doubles. Le plus souvent, les chemins relatifs sont stockés dans le document et la boîte à outils (après avoir coché l'option permettant d'enregistrer les chemins relatifs).
  • Les chemins relatifs sont basés sur le dossier actuel, qui correspond à l'emplacement du document ou de la boîte à outils enregistré.

Chemins UNC

UNC signifie Universal (ou Uniform or Unified) Naming Convention et est une syntaxe permettant d'accéder aux répertoires et aux fichiers sur les réseaux informatiques. La syntaxe est indiquée ci-dessous :

\\\\

Par exemple:

\\pondermatic\public\studyarea.gdb \\omnipotent\shared_stuff\mercredi\tools

Le nom de l'ordinateur est séparé par une double barre oblique inverse (\\).

En UNC, le nom de l'ordinateur est également appelé nom d'hôte.

Il existe plusieurs règles pour les chemins UNC :

  • Les chemins UNC ne peuvent pas contenir d'étiquettes de volume (telles que D).
  • Il n'est pas possible de passer à un répertoire de niveau supérieur au répertoire général.
  • Option Stocker les noms de chemins relatifs pour les documents et les outils ne s'applique pas aux chemins UNC.

Dans ArcGIS, vous pouvez utiliser un chemin UNC dans n'importe quelle demande de chemin. Ceci est particulièrement utile pour les données accessibles au public sur un réseau local (LAN). Les données peuvent être stockées sur un ordinateur et toute personne y ayant accès peut les utiliser tant que l'ordinateur n'est pas éteint ou déconnecté du réseau.

Sous Windows, il est possible de partager des dossiers afin que d'autres utilisateurs du réseau puissent travailler avec eux. Dans ArcCatalog ou l'Explorateur Windows, cliquez avec le bouton droit Partage et sécurité et suivez les instructions supplémentaires dans la boîte de dialogue qui s'ouvre.

URL

URL signifie Uniform Resource Locator et décrit de manière unique l'adresse de tout document sur Internet. Les composants d'une URL sont :

  • Le protocole utilisé pour accéder à la ressource, tel que HTTP (HyperText Transfer Protocol) ou FTP (File Transfer Protocol)
  • Hôte (serveur) avec lequel la connexion est établie
  • Chemin d'accès au fichier sur l'hôte

Par exemple:

http://www.esri.com/products.html

Windows Internet Explorer vous permet de saisir la chaîne www.esri.com dans la barre d'adresse d'Internet Explorer et le type de protocole sera ajouté automatiquement http://. Il est plus correct de spécifier explicitement le protocole, par exemple http. D'autres protocoles incluent HTTPS (Secure Hypertext Transfer Protocol), FTP, mailto (adresse e-mail) et news (Usenet news), etc.

Dans ArcGIS, vous pouvez utiliser des chemins d'URL le cas échéant. En général, l'interface utilisateur fournit des indications sur les cas où l'utilisation d'une URL est possible ou nécessaire. Lorsque vous utilisez des URL dans ArcGIS Explorer, il est recommandé d'inclure un type de protocole comme suit :

http://www.esri.com

Chemin du fichier de connexion ArcSDE

Les outils de géotraitement utilisent le chemin d'accès à un fichier de connexion (.sde) pour accéder aux données stockées dans une base de données ArcSDE.

D:\Data\Final\Connexion à ArcSDE.sde\EastValley\powerlines

Les informations de connexion dans le fichier .sde sont utilisées pour créer une connexion à ArcSDE, et la géodatabase recherche les données demandées de la même manière que pour les géodatabases fichier et personnelles (voir ci-dessus).

Il est facile d'accéder à un fichier qui se trouve dans le même dossier que notre script. Mais lorsqu'il s'agit de travailler avec des fichiers dans différents dossiers, les débutants commencent à devenir fous.

De cet article, nous apprendrons :

  • - qu'est-ce qu'un chemin absolu et relatif vers un fichier,
  • - en quoi diffèrent-ils pour le serveur et le navigateur,
  • - quelles erreurs font les débutants lors de la création de chemins de fichiers et comment les éviter.

Chemins d'accès aux fichiers sur le serveur

Le chemin absolu du serveur est le chemin complet depuis la racine jusqu'au script. Vous pouvez connaître le chemin complet du script en utilisant la constante « magique » __FILE__ :

Selon le système d'exploitation, le résultat peut varier :

D:\OpenServer\domains\site\index.php- pour OpenServer sous Windows

/var/www/site/index.php - pour UNIX

Bien entendu, la fonction include() et ses analogues peuvent inclure un fichier par son chemin absolu :

Le chemin relatif du serveur est le chemin du dossier dans lequel se trouve le script actuel. Imaginons qu'il y ait 2 scripts sur notre site Web : index.php et config.php. Ensuite, vous pouvez connecter le deuxième à partir du premier en utilisant des chemins absolus et relatifs :

Jusqu'à présent, tout est simple. Mais si l’on décide d’inclure un fichier qui inclut lui-même un autre fichier, la situation devient un peu plus compliquée. Imaginons que nous ayons un dossier scripts avec les scripts script1.php et script2.php , la structure pour plus de clarté :

Index.php scripts script1.php script2.php

Le contenu des fichiers ressemblera à ceci :

Lancez le fichier index.php dans votre navigateur. Si tout est fait correctement, le message s'affichera Connexion réussie. Essayez maintenant de déplacer le fichier script2.php à la racine du site, au même niveau que index.php .

Rien n'a changé, le site affiche toujours Connexion réussie. Comment est-ce arrivé ? Le fait est que PHP essaie de trouver le fichier à la fois dans le dossier de connexion et dans le dossier de script de connexion. Comme vous le comprenez, si vous avez deux fichiers dans des dossiers différents, vous pouvez accidentellement connecter le mauvais script et casser le site.

Navigation utilisant des chemins relatifs.

Notez que les chemins relatifs ne commencent jamais par une barre oblique / . S'il y a une barre oblique, PHP considérera le chemin comme absolu.

dossier1/dossier2/dossier3/script1.php- rechercher un fichier dans un sous-dossier

../index.php - remonter d'un dossier

../../../index.php - remonter de 3 dossiers

Comment spécifier le chemin d'accès à un fichier sur le serveur ?

Oubliez les chemins relatifs. Fournissez toujours uniquement des chemins de fichiers absolus. Radical, non ? Ne vous inquiétez pas, la communauté PHP a mis au point 2 façons simples (il y en a aussi des difficiles :)) de spécifier le chemin complet... sans spécifier le chemin complet.

La première consiste à utiliser la fonction dirname(). Il prend un chemin de fichier et renvoie le chemin sans le nom du fichier, c'est-à-dire le dossier dans lequel se trouve le fichier. En combinant __FILE__ et dirname() nous pouvons obtenir le dossier de script actuel :

Nous savons maintenant avec certitude que le fichier script2.php sera inclus, situé dans le même dossier que le script actuel.

La deuxième façon consiste à utiliser des constantes. Il est utilisé dans de nombreux CMS populaires et ressemble à ceci :

Une constante est créée DIR_ROOT, dans laquelle nous stockerons le chemin complet du dossier racine du site. Vous pouvez également éventuellement créer plusieurs constantes avec des liens vers des dossiers fréquemment utilisés. Dans include(), nous passons une constante et le chemin d'accès au fichier souhaité est ajouté par rapport à celui-ci.

Chemins d'accès aux fichiers dans le navigateur

Le navigateur n'a pas accès au disque dur de votre serveur. Sa « portée » part du dossier racine du site. Par conséquent, les chemins absolus et relatifs du serveur et du navigateur sont complètement différents.

Le chemin absolu d'un fichier dans le navigateur commence par une barre oblique /, par exemple /images/logo.jpg. Ce chemin signifie que le fichier se trouve sur site.ru/images/logo.jpg.

Le chemin relatif vers le fichier est exactement le même, mais sans la barre oblique, par exemple images/logo.jpg.

Une erreur courante que font les débutants est d’utiliser un chemin relatif au lieu d’un chemin absolu. Imaginons que le logo du site se trouve sur site.ru/images/logo.jpg. Essayons de le connecter via un chemin relatif :

Tout semble bien et fonctionne. Mais cela se produira jusqu'à ce que l'utilisateur accède à un dossier, par exemple site.ru/products/15/. Comme vous pouvez le deviner, le navigateur tentera de charger le logo à site.ru/products/15/images/logo.jpg.

Utilisez toujours des chemins de fichiers absolus. De cette façon, vous éviterez la plupart des problèmes de navigation possibles.

Comme vous le savez, dans le paramètre href de la balise (), vous devez spécifier le chemin d'accès au fichier référencé.
Beaucoup de gens écrivent quelque chose comme http://somesite.ru/catalog/doc.html. Oui, personne ne conteste, ça marche. Mais il y a un « mais ». Regardons un exemple.

Laissez votre site être hébergé, par exemple, sur un hébergement gratuit et son adresse était la suivante : http://fsite.freehosting.ru.
Il y a environ 100 documents sur le serveur. Et vous décidez donc de déplacer votre site Web vers un autre domaine,
que ce soit un hébergement payant dans la zone ru : http://site.ru. Eh bien, devrions-nous maintenant remplacer http://fsite.freehosting.ru par http://site.ru partout ?
Oui, grâce à des éditeurs comme homesite, c'est possible. Mais ce n'est pas une solution.
Supposons qu'avant de télécharger une page sur le serveur, vous vérifiiez sa fonctionnalité
sur votre serveur Apache domestique (pour ceux qui ne savent pas encore ce qu'est un « serveur domestique », allez ici (Installer et configurer un serveur Apache), et à la place de http://localhost vous devrez écrire http:// site.ru partout. D'accord avec cela, au moins c'est gênant.

La solution est, lors de la spécification du chemin d'accès à un fichier, de prendre en compte non pas sa position sur le site, mais sa position sur le serveur.

Chemin absolu

Prenons, par exemple, le fichier doc.html, qui se trouve à l'adresse : http://somesite.ru/catalog/doc.html. Sur le serveur, comme vous le savez, il existe un dossier www. Comme nous pouvons le voir d'après l'adresse, ce dossier contient le dossier catalogue, et il contient déjà le fichier doc.html.

Si, lors de la spécification du chemin d'accès à un fichier, vous mettez / avant l'adresse, alors cela ressemblera à ce qui suit : root_directory_in_the_north/www/path to the file.
Autrement dit, http://somesite.ru/catalog/doc.html est similaire à ce qui suit : /catalog/doc.html.
Ainsi, lorsqu’il y a un / devant l’adresse, cela signifie que le « compte à rebours » démarre depuis l’annuaire www.
Désormais, au lieu de http://localhost/index.html, vous pouvez écrire /index.html à partir de n'importe quel document.
Mais pour accéder au répertoire cgi, vous devez écrire comme ceci : /cgi-bin/path to the file.

Les chemins créés à l'aide des méthodes décrites ci-dessus sont appelés absolus, car le chemin absolu (complet) du fichier sur le serveur est indiqué.

Chemin relatif

Il existe également des chemins relatifs, qui sont spécifiés par rapport au document lui-même d'où provient le lien.
Par exemple, si vous créez un lien dans doc.html newcat/new.html, cela implique que le fichier new.html se trouve dans le répertoire newcat, qui, à son tour, se trouve dans le même répertoire que le fichier doc.html. Comme vous pouvez le constater, ce chemin est relatif au fichier doc.html. Où que se trouve ce fichier, le chemin newcat/new.html sera toujours valide si le fichier doc.html et le répertoire newcat sont au même niveau (c'est-à-dire dans le même répertoire).

Vous pouvez également remonter d'un répertoire par rapport à un document. Pour ce faire, vous devez écrire ../.
Par exemple, il existe un grand répertoire, il contient deux répertoires : primaire et secondaire. Le répertoire principal contient le fichier doc.html déjà familier ; et dans le répertoire secondaire il y a un fichier new.html. Afin de créer un lien du fichier doc.html vers le fichier new.html, vous devez écrire ../secondary/new.html. Mais si le grand répertoire se trouve dans le répertoire www, alors le chemin d'accès au fichier new.html pourrait être spécifié comme ceci : /big/secondary/new.html

Au lieu de conclure, il convient de dire que l'utilisation de chemins absolus et relatifs facilite grandement le travail des webmasters, qu'ils soient débutants ou professionnels. Profitez donc de cette opportunité, comme on dit, au maximum et essayez d'éviter les chemins comme http://site.ru/catalog/file.file, ou au moins de recourir à leur aide aussi rarement que possible.



Des questions ?

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :