
| auteur : Forum PHP | Avec Linux, le caractère à utiliser dans les chemins est le slash (/). Avec Windows, il s'agit de l'anti-slash (\) mais dans un script en PHP il est aussi possible d'utiliser le slash.
Vous pouvez donc utiliser des slash pour que vos scripts fonctionne sous Windows et sous Linux. Par exemple, le code suivant recherchera le fichier "librairie.php" qui se trouve dans le répertoire "inclure" du répertoire courant et ceci quelque soit le système d'exploitation :
<?php
require ' ./inclure/librairie.php ' ;
?>
|
Attention, Linux est sensible à la casse, donc si vous voulez inclure le fichier "librairie.php", vous pouvez mettre "librairie.php", "LIBRAIRIE.PHP" ou "Librairie.PHP" sous Windows mais vous devez absolument mettre "librairie.php" si le code doit fonctionner sous Linux.
En ce qui concerne le chemin que vous définissez pour la directive "include_path", le séparateur n'est pas le même et vous pouvez utiliser la constante PATH_SEPARATOR. Exemple de code pour inclure les fichiers qui sont dans le répertoire "classes" ( plus d'informations sur la directive 'include_path'): <?php
ini_set(' include_path ' , ' . ' . PATH_SEPARATOR . dirname(__FILE__ ) . ' /classes ' );
?>
|
|
lien : Comment définir le répertoire qui contient les fichiers à inclure ?
|
| auteur : Guillaume Rossolini |
Une première idée pourrait nous pousser à utiliser le fichier .htaccess pour rediriger l'internaute à l'aide d'une page 404 de notre choix (la page par défaut pour les URIs non valides). Ce script peut récupérer l'adresse que notre internaute a demandée et utiliser un tableau ou une base de données pour déterminer la véritable page à charger. Cependant, cette approche est incorrecte car Apache envoie une erreur HTTP 404 au navigateur, ce qui empêche le référencement correct de la page Web. Par conséquent, aucune page de votre site ne serait référencé par les moteurs de recherche.
La véritable solution implique la réécriture de liens. Il faut pouvoir activer la directive "RewriteEngine" de votre fichier .htaccess de manière à y inclure cette première ligne :
À partir de là, vous pouvez utiliser la directive RewriteRule dans ce même fichier, conjointement à des expressions régulières. Imaginons par exemple un site fondé sur des articles, sur le principe de : articles.php?article=X (où X est l'identifiant numérique entier de l'article).
Nous aurions une série d'articles de la sorte :
articles.php?article=1, articles.php?article=43, articles.php?article=99, etc.
Nous désirons utiliser une arborescence virtuelle au lieu de ces paramètres barbares. Nous aimerions quelque chose comme : articles/titre/X/
Voici comment nous pouvons nous y prendre : il suffit d'afficher les liens de la manière souhaitée dans le HTML et, dans le .htaccess, d'ajouter cette ligne :
RewriteRule articles/.*/([0 -9 ]+)$ /articles.php?article=$1 [L]
|
|
lien : Tutoriel de réécriture de liens (URL Rewriting), par Guillaume Rossolini
|
| auteur : Cyberzoide | On procède en deux étapes : - vérification syntaxique - vérification de l'existence de la ressource
La vérification syntaxique consiste à vérifier que le http:// est bien présent, et d'une manière générale que la grammaire normalisée d'écriture des URL est bien respectée.
Ainsi, la fonction parse_url($url) permet d'extraire tous les éléments d'une URL : domaine, protocole, port, chemin, paramètres... afin de les contrôler.
La vérification de l'existence physique du serveur, passe par l'établissement d'une socket vers le serveur avec la fonction fsockopen().
Le script suivant procède à ces vérifications successives :
function checkurl($ url ){
if (! eregi(" ^ http : / / " , $ url )) {
return FALSE ;
}
$ details = parse_url($ url );
if (! isset($ details [ ' port ' ] )) {
$ details [ ' port ' ] = " 80 " ;
}
if (! isset($ details [ ' path ' ] )) {
$ details [ ' path ' ] = " / " ;
}
if (! ereg(" [ 0 - 9 ] + \ . [ 0 - 9 ] + \ . [ 0 - 9 ] + \ . [ 0 - 9 ] + " , $ details [ ' host ' ] )){
$ details [ ' host ' ] = gethostbyname($ details [ ' host ' ] );
}
if ($ sock = fsockopen( $ details [ ' host ' ] , $ details [ ' port ' ] , & $ numero_erreur , & $ texte_erreur )){
$ requete = " GET " . $ details [ ' path ' ] . " HTTP / 1 . 1\r\n " ;
$ requete . = " Host : " . $ details [ ' host ' ] . " \r\n\r\n " ;
fputs ($ sock , $ requete );
$ str = fgets($ sock , 1024);
while (! ereg(' ^HTTP/1.1 ' , $ str )){
$ str = fgets($ sock , 1024);
}
fclose($ sock );
list ($ http , $ str , $ texte ) = explode(" " , $ str , 3);
return array ($ str , $ reponse [ $ str ] );
}
return FALSE ;
}
|
|
| auteur : khayyam90 | Un serveur est configuré par défaut pour fonctionner en local, en écoutant l'adresse 127.0.0.1 (localhost). Donc pour pouvoir y accéder depuis d'autres ordinateurs, il faut le faire écouter l'adresse de la machine sur le réseau. Il s'agit juste d'une ligne à changer dans le fichier de configuration.
Stoppez le serveur, modifiez le fichier httpd.conf situé dans le répertoire conf_files et changez la ligne
par Listen [IP de la machine]:80
|
puis redémarrez le serveur.
|
| auteurs : Forum PHP, Kerod |
Pour récupérer l'url d'une page en cours d'exécution, on
utilise l'une des variables prédéfinies suivantes :
-
$_SERVER['PHP_SELF'], qui contient le nom du
fichier du script en cours d'exécution, par rapport
à la racine Web :
Exemple |
echo $ _SERVER [ ' PHP_SELF ' ] ;
|
-
$_SERVER['SCRIPT_NAME'], qui contient le nom du
script courant. Cela sert lorsque les pages doivent
s'appeler elles-mêmes :
Exemple |
echo $ _SERVER [ ' SCRIPT_NAME ' ] ;
|
-
basename(__FILE__), qui contient uniquement le nom
du script courant. (Ce qui est un avantage lorsque
l'on souhaite uniquement récupérer le nom du script) :
Pour récupérer l'url complète d'un script, on utilise les
variables prédéfinies $_SERVER['SERVER_NAME'] et
$_SERVER['REQUEST_URI'].
-
$_SERVER['SERVER_NAME'] renvoie le nom du serveur
hôte qui exécute le script
-
$_SERVER['REQUEST_URI'] renvoie tout le reste de
l'url y compris les variables transmises par la
méthode GET
Exemple |
echo $ _SERVER [ ' SERVER_NAME ' ] ;
echo $ _SERVER [ ' REQUEST_URI ' ] ;
|
On peut également le faire avec le code suivant :
Exemple |
echo ' http:// ' . $ _SERVER [ ' SERVER_ADDR ' ] . ' : ' . $ _SERVER [ ' SERVER_PORT ' ] . $ _SERVER [ ' REQUEST_URI ' ] ;
|
|
Consultez les autres F.A.Q.
Les sources présentés sur cette page sont libres de droits,
et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs.
Copyright ©2003
Developpez LLC. Tous droits réservés Developpez LLC.
Aucune reproduction, même partielle, ne peut être faite de ce site et de
l'ensemble de son contenu : textes, documents et images sans l'autorisation
expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans
de prison et jusqu'à 300 000 E de dommages et intérêts.
Cette page est déposée à la SACD.
|