Chemin de page en php et remplacement de lien [resolu]
Posté : 23 janv. 2011, 17:42
Bonjour à tous,
JE souhaite utiliser un chemin de page en php dont vous trouverez le code ci-dessous. ce chemin sera appelé dans des pages situées dans un répertoire "galeries" de mon site. Mais je veux que ce chemin de page renvoie à des urls situées sur mon cms. En d'autre terme, je cherche le moyen de supprimer le répertoire "galeries" du chemin de page (string et link).
Exemple : actuellement mon chemin de page me donne "Accueil / galeries / XXeme_siecle / galerie1" lorsque je suis dans la galerie 1. Je veux supprimer "galeries" pour obtenir "Accueil / XXeme_siecle / galerie1" afin de permettre à l'utilisateur d'accéder à la page XXeme_siècle de mon cms.
Quel code dois-je ajouter à mon fichier backlinks.php
Merci !
Mon fichier backlinks.php :
JE souhaite utiliser un chemin de page en php dont vous trouverez le code ci-dessous. ce chemin sera appelé dans des pages situées dans un répertoire "galeries" de mon site. Mais je veux que ce chemin de page renvoie à des urls situées sur mon cms. En d'autre terme, je cherche le moyen de supprimer le répertoire "galeries" du chemin de page (string et link).
Exemple : actuellement mon chemin de page me donne "Accueil / galeries / XXeme_siecle / galerie1" lorsque je suis dans la galerie 1. Je veux supprimer "galeries" pour obtenir "Accueil / XXeme_siecle / galerie1" afin de permettre à l'utilisateur d'accéder à la page XXeme_siècle de mon cms.
Quel code dois-je ajouter à mon fichier backlinks.php
Merci !
Mon fichier backlinks.php :
<?php
$convert_toSpace = true; // true if script should convert _ in folder names to spaces
$upperCaseWords = true; // true if script should convert lowercase to initial caps
$topLevelName = "Accueil"; // name of home/root directory
$separator = " > "; // characters(s) to separate links in hierarchy (default is a > with 2 spaces on either side)
// find index page in directory...
function MPBCDirIndex($dir) {
$index = '';
@$dir_handle = opendir($dir);
if ($dir_handle) {
while ($file = readdir($dir_handle)) {
$test = substr(strtolower($file), 0, 6);
if ($test == 'index.') {
$index = $file;
break;
}
}
}
return $index;
}
// make clean array (trim entries and remove blanks)...
function MPBCTrimArray($array) {
$clean = array();
for ($n=0; $n<count($array); $n++) {
$entry = trim($array[$n]);
if ($entry != '') $clean[] = $entry;
}
return $clean;
}
// function to prep string folder names if needed...
function MPBCFixNames($string) {
global $convert_toSpace;
global $upperCaseWords;
if ($convert_toSpace) $string = str_replace('_', ' ', $string);
if ($upperCaseWords) $string = ucwords($string);
return $string;
}
$server = (isset($_SERVER)) ? $_SERVER : $HTTP_SERVER_VARS;
$htmlRoot = (isset($server['DOCUMENT_ROOT'])) ? $server['DOCUMENT_ROOT'] : '';
if ($htmlRoot == '') $htmlRoot = (isset($server['SITE_HTMLROOT'])) ? $server['SITE_HTMLROOT'] : '';
$pagePath = (isset($server['SCRIPT_FILENAME'])) ? $server['SCRIPT_FILENAME'] : '';
if ($pagePath == '') $pagePath = (isset($server['SCRIPT_FILENAME'])) ? $server['SCRIPT_FILENAME'] : '';
$httpPath = ($htmlRoot != '/') ? str_replace($htmlRoot, '', $pagePath) : $pathPath;
$dirArray = explode('/', $httpPath);
if (!is_dir($htmlRoot.$httpPath)) $dirArray = array_slice($dirArray, 0, count($dirArray) - 1);
$linkArray = array();
$thisDir = '';
$baseDir = ($htmlRoot == '') ? '' : $htmlRoot;
for ($n=0; $n<count($dirArray); $n++) {
$thisDir .= $dirArray[$n].'/';
$thisIndex = MPBCDirIndex($htmlRoot.$thisDir);
$thisText = ($n == 0) ? $topLevelName : MPBCFixNames($dirArray[$n]);
$thisLink = ($thisIndex != '') ? '<a href="'.$thisDir.$thisIndex.'">'.$thisText.'</a>' : $thisText;
if ($thisLink != '') $linkArray[] = $thisLink;
}
$results = (count($linkArray) > 0) ? implode($separator, $linkArray) : '';
if ($results != '') print('<div class="backlinks">'.$results.'</div>');
?>