FAQ PHP
FAQ PHPConsultez toutes les FAQ
Nombre d'auteurs : 68, nombre de questions : 580, dernière mise à jour : 18 septembre 2021
La fonction getcwd() qui ne prend aucun paramètre renvoie sous forme de chaîne le chemin complet du répertoire courant.
PS : Cette fonction étant spécifique UNIX, nous devons utiliser sous Windows le code suivant :
$current_dir
=
getcwd();
$current_dir
=
str_replace("
\\
"
,
"
/
"
,
$current_dir
);
// Utilisateurs de Windows, pensez à changer vos antislashes
Il existe plusieurs méthodes pour extraire le nom d'un fichier d'un chemin complet.
Exemple 1, le chemin est compatible avec le système de fichiers du serveur :
<?php
$path
=
'/var/www/html/docs/fichier.tex'
;
$file
=
basename($path
);
echo $file
;
// affiche 'fichier.tex'
?>
Exemple 2, la chaîne séparatrice des répertoires est connue :
Ici, la foncion explode() scinde le chemin en un tableau, le caractère '/' délimitant les éléments à séparer. Ainsi chaque répertoire donne lieu à un élément distinct du tableau retourné. La fonction array_pop() retourne le dernier élément du tableau, c'est-à-dire le nom de fichier recherché.
PHP offre trois possibilités pour déterminer le nom d'un dossier à partir du chemin d'un fichier qui y est contenu, cela se fait avec les fonctions dirname, pathinfo et la classe SplFileInfo. L'exemple ci-dessus illustre chacune des possibilités.
// Chemin du fichier
$chemin_fichier
=
'
c:\repertoire\dossier1\fichier.txt
'
;
// avec la fonction dirname
echo dirname( $chemin_fichier
);
// avec la fonction pathinfo
echo pathinfo( $chemin_fichier
,
PATHINFO_DIRNAME );
// avec la classe SplFileInfo
$finfo_objet
=
new SplFileInfo( $chemin_fichier
);
echo $finfo_objet
->
getPath();
// dans tous les cas nous avons : c:\repertoire\dossier1
On peut séparer un fichier de son extension en utilisant la
fonction pathinfo()
qui retourne un tableau associatif, contenant les
informations sur le chemin. Les éléments suivants sont
retournés : le nom du répertoire (dirname), le nom
du fichier (basename) et l'extension (extension).
Exemple :
C'est possible, mais en lecture seulement (pour modifier des fichiers distants, il faut se servir d'un accès ftp et des fonctions PHP prévues pour ce type de connections).
Comment? simplement à l'aide de la fonction fopen() en utilisant l'url comme nom de fichier.
$file
=
fopen('
http://www.site.com/page.htm
'
,
'
r
'
);
Le "r" signifie que le fichier sera ouvert en mode lecture et que le pointeur sera positionné au début du fichier.
$file contient FALSE si le fichier n'a pas pu être ouvert.
Il se peut qu'un fichier ne soit pas disponible lorsqu'on essaie de l'ouvrir, il est donc fortement recommandé de tester la valeur retournée par la fonction fopen().
Pour lire son contenu, il suffit de se servir de la fonction fread() comme on le ferait avec un fichier issu de l'arborescence locale.