AsaMedlem sedan dec. 20011 860 inlägg Jag vill ha hjälp med denna kod att få den att fortfarande vara öppen när man klickar sig vidare i mapphierarkin. Nu går den bara till första undermapparna och sen går det inte..
<?
function Lista_filer($Kat,$dir) {
$kh=opendir($Kat);
$fil=readdir($kh);
echo "<ul>";
while($fil=readdir($kh)) {
if(!($fil=="."||$fil=="..")) {
if(is_dir($Kat . '/' . $fil)) {
if($dir==""){
echo "<li><a href='index2.php?dir=$fil'><b>$fil</b></a>";
}else{
echo "<li><a href='index2.php?dir=$dir/$fil'><b>$fil</b></a>";
}
if($fil == $dir){
Lista_filer($Kat . '/' . $fil,$dir);
}
echo "</li>";
} else {
echo "<li>$fil</li>";
}
}
}
closedir($kh);
echo "</ul>";
}
$mapp = "photos";
if(isset($_GET['dir'])){
$udir = $_GET['dir'];
}else{
$udir = "";
}
Lista_filer($mapp,$udir);
?>
überfuzzMedlem sedan apr. 2006409 inlägg Jag tycker att det är vanskligt att skriva ut allt på en gång, som du gör. Har du funderat på att lägga allt i en array i stället? Om du tex får för dig att du vill göra tjusigare länkar kan du ju ändra det senare?
Vidare brukar det vara lättare att söka fel, om man nu får för sig att göra fel...
AsaMedlem sedan dec. 20011 860 inlägg Jag har aldrig hållt på med arrayer så jag vet inte hur man gör allt :(
CompusaMedlem sedan jan. 20023 327 inlägg Läs på om Arrayer då, inget konstigt alls och det är en fundamental datatyp som du måste veta hur du ska använda :)
Börjar här:
http://www.phpf1.com/tutorial/php-array.html
Sedan kan PHP-referensmanualen om arrayer vara bra när du fått lite kött på benen:
http://se2.php.net/array
überfuzzMedlem sedan apr. 2006409 inlägg Nu vet jag ju inte exakt vad 'allt' är. Men... stoppa in filsystemet i en array så kan du ju i alla fall leka lite med den arrayen.
function mappLista($mapp, $rekursiv = true)
{
//Så här initierar du en array i php.
$resultat = array();
$hantering = opendir($mapp);
while (false !== ($fil = readdir($hantering)))
{
if ($fil != '.' && $fil != '..')
{
if(is_dir($mapp.DIRECTORY_SEPARATOR.$fil) && $rekursiv === true)
{
$resultat[] = array($fil => mappLista($mapp.DIRECTORY_SEPARATOR.$fil));
}
else
{
$resultat[] = $fil;
}
}
}
closedir($hantering);
return $resultat;
}
Vill du se hur en array ser ut kan du använda:
echo "<pre>";
print_r($array);
echo "</pre>";