PHP links van array's

Status
Niet open voor verdere reacties.

murdoch201

Gebruiker
Lid geworden
31 mei 2008
Berichten
336
Hoi,

Wat ik ik wil doen, is een lijst met bestanden van een map tonen. Deze moeten links zijn, naar een pagina, die met een php code ($_GET) de bestanden lezen.

Dus hij maakt er een link voor naar http://blabla.com/?url=bestandsnaam

Nu heb ik dit:

PHP:
<?php
$files = array();
$path = $_SERVER['DOCUMENT_ROOT'] . "/scores/game";
$dir_handle = @opendir($path) or die("Kan $path niet lezen"); 

	
if ($dir_list = opendir($path))
 {
 while(($filename = readdir($dir_list)) !== false)
 {
 $filename = str_replace(".", "", $filename);
 $filename = str_replace("txt", "", $filename);
 $filename = htmlspecialchars('<html><a href="' . $filename . '">' . $filename . '</a></html>', ENT_NOQUOTES);
$files[] = $filename;
 }
 closedir($dir_list);
 }
 
 	asort($files);
	
	print_r(implode("<br />", $files));

?>

Maar het werkt dus niet. Hij toont gewoon de html codes. Ik heb ook al geprobeerd met de quotes omgekeerd te doen, en ENT_QUOTES te doen dus, maar zonder resultaat. Iemand die mij kan helpen?

Mvg,
Murdoch
 
Dat je de HTML te zien krijgt komt omdat je htmlspecialchars gebruikt. Die functie zet alle "speciale tekens in HTML" (ook het kleiner dan ('<') en het groter dan ('>') teken) om in "HTML entities" waardoor je die tekens in beeld krijgt en tags dus niet werken.
Wat je waarschijnlijk wilt is dit:
PHP:
$filename = htmlspecialchars($filename);
$filename = '<a href="' . $filename . '">' . $filename . '</a>';
De tags "<html>" en "</html>" moet je eigenlijk weglaten. Deze mogen maar eenmaal op de pagina voorkomen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan