highlight_file

(PHP 4 , PHP 5)

highlight_file -- Colorisation de la syntaxe d'un fichier

Description

mixed highlight_file ( string filename [, bool return])

highlight_file() affiche la syntaxe colorisée du fichier filename, en utilisant les couleurs définies dans le moteur interne de PHP.

Si le second paramètre optionnel return vaut TRUE alors highlight_file() retournera le code généré, au lieu de l'afficher. Si le second paramètre ne vaut pas TRUE alors highlight_file() retournera TRUE en cas de succès, et FALSE sinon.

Note : Le paramètre return a été ajouté en PHP 4.2.0. Avant cela, la fonction se comportait comme si ce paramètre avait sa valeur par défaut à FALSE.

Attention

Beaucoup de soin doit être apporté lors de l'utilisation de show_source() et highlight_file() pour s'assurer que vous ne révélez pas d'informations critiques telles que des mots de passe ou d'autres informations qui pourrait créer des fuites d'information.

Note : Depuis PHP 4.2.1, cette fonction est aussi affectée par safe_mode et open_basedir.

Exemple 1. Colorisation d'URL

Pour configurer une URL qui peut coloriser n'importe quel script que vous lui passez, nous avons besoin d'utiliser la directive Apache "ForceType", pour générer une URL exploitable, puis utiliser la fonction highlight_file() pour afficher un code propre.

Dans votre configuration HTTP httpd.conf, vous pouvez ajouter le code suivant :

<Location /source>
    ForceType application/x-httpd-php
</Location>

Puis, faire un fichier appelé source, que vous placez dans votre racine de site web.

<html>
<head>
  <title>Coloration de la source</title>
</head>
<body bgcolor="white">
<?php
    $script
= getenv("PATH_TRANSLATED");
    if (!
$script) {
      echo
'<br /><strong>Erreur : Le nom du script est nécessaire</strong><br />';
    } else {
      if (
ereg("(\\.php|\\.inc)$",$script)) {
        echo
"<h1>Source de : " . getenv('PATH_INFO') . "</h1>\n<hr />\n";
        
highlight_file($script);
      } else {
        echo
'<h1>Erreur: Seuls les noms de fichiers PHP ou de fichiers PHP inclus sont autorisés</h1>';
      }
    }
    echo
'<hr />Traitement : ' . date("Y/M/d H:i:s", time());
?>
</body>
</html>

Alors, vous pourrez utiliser une URL telle que celle ci-dessous pour afficher une version colorisée de votre script /chemin/vers/script.php.

http://votre.serveur.com/source/chemin/vers/script.php

Voir aussi highlight_string().