21. juni 2004 - 00:01Der er
42 kommentarer og 1 løsning
lave menu træ men stop ved index.php
Jeg sidder og prøver at lave min egen lille list of content i med php.
Jeg lister alle mapper og kun disse. Det jeg nu vil er at kunne liste alle mapper og eventuelle undermapper MEN den skal stoppe med at lave listen hvis den støder på array("index.php","index.htm","default.htm");
OG jeg skal kunne lave lidt: |start |-næste |- ting |-osv. Håber i forstår ps. er ikke haj til php!
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Lige bortset fra, at listen ikke vil stoppe udskriften hvis den støder på en filerne i arrayet $vises_ikke, men blot ikke udskrive den... Eller jeg for træt?
øh Notice: Undefined variable: list in j:\apache\htdocs\index.php on line 42 => return $list; Fatal error: Maximum execution time of 30 seconds exceeded in j:\apache\htdocs\index.php on line 33
Den første fejl retter du ved at indsætte følgende i toppen:
$list = array();
Den næste fejl kan jeg ikke hjælpe med, det er fordi dit script timer ud efter 30 sekunder. Hvis det er din egen server, kan du rette max_execution_time i din PHP.INIm hvis der er en en udbyder kan du prøve med:
Den eneste lille finger jeg måske kan sætte på det er, at den ikke vil stoppe dit script, medmindre biblioteket også bliver defineret i dit array, altså:
Jeg sad og kiggede lidt på det i toget, og jeg havde på en eller anden måde fået en ekstra return på make_tree(); - ikke spørge hvorfor... Men det her, funker nu altså på min Apache server, hvor den returnerer alle filer og undermapper i mappen "_HP"
<?php
function make_tree($path){ //where $path is your source dir. $handle=opendir($path); while($a=readdir($handle)){ if(!preg_match('/^\./',$a)){ $full_path="$path/$a"; $list[]=$full_path; // REPLACE WITH OPTION IF NEEDED. if(is_dir($full_path)){ $recursive=make_tree($full_path); for($n=0; $n<count($recursive); $n++){ $list[]=$recursive[$n]; } } } } closedir($handle); return $list; }
hmm. igen se her: http://www.vipez.dynu.com/exp/spm512019/ den skal lave en liste som viser mapper som har filerne $vises_ikke og dermed skal den linke til den mappe. IKKE GÅ IND I MAPPEN.
men lige endnu et spørgsmål, nu hvor jeg kigger igen... Den skal KUN vise "hovedmapperne", altså hvis der ligger en index.php i mappe/mappe1/index.php skal den kun udskrive /mappe ??
[1.eks] mappe0 har ikke index.php og mappe0.1 har index.php og derfor skal den skal dermed udskrive begge mapper som mappe0 (ikke link) |-mappe0.1 (link) [2.eks] mappe0 har index.php og mappe0.1 har index.php og derfor skal den skal dermed udskrive begge mapper som mappe0 (link) |-mappe0.1 (link)
Jeg kan kun få det til at vise den 1. fil, ikke mapper eller andre filer?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.