Liens absolus et relatifs

Résolu/Fermé
LaChaux78 Messages postés 577 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 3 novembre 2024 - 13 juil. 2019 à 15:23
LaChaux78 Messages postés 577 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 3 novembre 2024 - 14 juil. 2019 à 20:21
Bonjour,
J'ai sur mon site une galerie de photo et je suis confronté à un soucis concernant les liens lors de l'affichage. J'ai une partie administration avec un sous domaine ou je gére l'INSERT de photos (sans base de donnée) et je voudrais pourvoir les afficher grâce à une fonction. Lorsque je clique sur une photo j'ai une erreur Not Found.
Mes photos se trouvent dans le chemin: "www/upload/albulle/data/photos"
function explore_dir_scan_html($dir, $niv=0, $id=0)
{
	$html = null;
	$html_dirs = null;
	$html_fils = null;
	if($niv==0){ $html .= '	<ul>'."\n"; }
	if ($handle = opendir($dir)) {
		while (false !== ($entry = readdir($handle))) {
			$id++;
			if(is_dir($dir.'/'.$entry)) // dossier
			{
				if($entry!='..' && $entry!='.')
				{
				 $html_dirs .= str_repeat("\t",$niv+1).'<li class="dir" id="div_'.$id.'">'.$entry."\n";
				 $html_dirs .= str_repeat("\t",$niv+2).'<ul class="sub_dir" id="sub_'.$id.'">'."\n";
				 $html_dirs .= explore_dir_scan_html($dir.'/'.$entry, $niv+1, $id);
				}				
			} else { // fichier
				 $html_fils .= str_repeat("\t",$niv+2).'<li class="fil" id="fil_'.$id.'"><a href="http://www.monsite.fr'.$dir.'/'.$entry.'" target="_blank">'.$entry.'</a></li>'."\n";
			}
			if(is_dir($dir.'/'.$entry))
			{
				if($entry!='..' && $entry!='.')
				{
				 $html_dirs .= str_repeat("\t",$niv+2).'</ul>'."\n";
				 $html_dirs .= str_repeat("\t",$niv+1).'</li>'."\n";
				}
			}
		}
		closedir($handle);
		$html .= $html_dirs; // dossiers
		$html .= $html_fils; // fichiers
	}    
	if($niv==0){ $html .= '	</ul>'."\n"; }
	return $html;
};

Voici l'appel à la fonction.
echo '<nav id="explorateur-dossier">';
echo explore_dir_scan_html('/home/cliquede/www/upload/albulle/data/photos/');
echo '</nav>';

Voici l'url lorsque je clique sur le lien d'une photo
http://www.monsite.fr/home/cliquede/www/upload/albulle/data/photos//2006/14%20Octobre%202006%20/YENNE/947462_5.jpg

alors que ça devrait être:
http://www.monsite.fr/upload/albulle/data/photos//2006/14%20Octobre%202006%20/YENNE/947462_5.jpg

Pouvez-vous m'aider s'ils vous plait. Je vous remercie.

3 réponses

yg_be Messages postés 23327 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 15 novembre 2024 Ambassadeur 1 551
Modifié le 13 juil. 2019 à 17:25
bonjour, moi je modifierais la fonction en lui ajoutant un paramètre:
explore_dir_scan_html($dir, $dirpub, $niv=0, $id=0)

et je ferais l'appel ainsi
explore_dir_scan_html('/home/cliquede/www/upload/albulle/data/photos/','http://www.monsite.fr/upload/albulle/data/photos');

cela implique bien sûr quelques petits changements dans le code de fa fonction.
par exemple, la ligne 16 deviendrait:
$html_dirs .= explore_dir_scan_html($dir.'/'.$entry, $dirpub.'/'.$entry, $niv+1, $id);

et la ligne 19:
$html_fils .= str_repeat("\t",$niv+2).'<li class="fil" id="fil_'.$id.'"><a href="$dirpub.'/'.$entry.'" target="_blank">'.$entry.'</a></li>'."\n";
0
LaChaux78 Messages postés 577 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 3 novembre 2024 32
13 juil. 2019 à 18:06
Bonjour, un grand merci je n'aurai jamais trouvé la solution sinon. Par contre j'ai une autre question toujours concernant cette fonction. Je souhaiterai pouvoir mettre les dossiers dans l'ordre chronologique. J'ai vu qu'il existe une fonction"array_multisort" mais je n'arrive pas à l'adapter. Si vous pouvez encore m'aider. Merci
0
LaChaux78 Messages postés 577 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 3 novembre 2024 32
14 juil. 2019 à 20:21
Bonjour, Encore merci je vais refaire un nouveau post pour mon second problème. Cordialement.
0