23. november 2004 - 19:43
Der er
10 kommentarer
"Stifinder" i php
Hey. Jeg er igang med at lave et lidt mere dynamisk system på en side, hvor jeg godt kunne tænke mig at se filstrukturen i hjmmesidens mapper. Altså et system hvor jeg kan se mapper og filer, samt bladre rundt i mapperne. Har bikset lidt medfunktionen glob, men kan ikke lige se hvordan jeg kører undermapper ind, så jeg kan bladre noget bedre: function file_size_convert($filesize) { $sizetitles = array('B', 'KB', 'MB', 'GB', 'TB'); $tmpcount = 0; while($filesize >= 1024 && $tmpcount < count($sizetitles)) { $filesize /= 1024; $tmpcount++; } return sprintf('%0.2f', $filesize) . ' ' . $sizetitles[$tmpcount]; } $mappe = "language"; $filer = array(); if ($handle = opendir($mappe)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != ".." && !is_dir($file)) { $filer[]= $file; } } closedir($handle); } sort($filer); reset($filer); foreach ($filer AS $val) { $created = date("d-m-Y H:i:s", filemtime($mappe.$val)); $modified = date("d-m-Y H:i:s", filectime($mappe.$val)); $size = file_size_convert(filesize($mappe.$val)); $size = file_size_convert(filesize($mappe.$val)); echo "<tr><td></td><td><a href=\"".$mappe.$val."\">".$val."</a></td><td>".$size."</td><td>".$created."</td><td>".$modified."</td><tr>"; }
Annonceindlæg tema
Cloud & AI
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.
23. november 2004 - 19:56
#1
23. november 2004 - 20:00
#2
måske du kan bruge noget herfra: <? $bytes = 0; tree( "./", "jpg", 3, "|" ); $kb = $bytes / 1024; $mb = $kb / 1024; $gb = $mb / 1024; function getmimetype( $filename ) { static $mimes = array ( '\.jpg$|\.jpeg$' => 'image/jpeg', '\.gif$' => 'image/gif', '\.png$' => 'image/png', '\.html$|\.html$' => 'text/html', '\.txt$|\.asc$' => 'text/plain', '\.xml$|\.xsl$' => 'application/xml', '\.pdf$' => 'application/pdf' ); foreach( $mimes as $regex => $mime ) { if( eregi( $regex, $filename ) )return $mime; } // return 'application/octet-stream'; return 'text/plain'; } function tree( $path, $type, $indentno, $line = "", $indent = "" ) { global $bytes; for( $x = 1; $x <= $indentno; $x++ ) { $indent .= " "; } $d = dir( $path ); while( false !== ( $entry = $d->read()) ) { $etdir = is_dir( $path . $entry ); if( $entry != "." && $entry != ".." && $entry != "" ) { $path_parts = pathinfo( $entry ); if( $etdir || strstr( $type, $path_parts["extension"] ) || $type == "*" ) { $bytes += filesize( $path . $entry ); echo "$indent<a type='" . getmimetype( $path . $entry ). "' href='" . $path . $entry . "'>" . ( $etdir ? "<b>" : ""). $entry . ( $etdir ? "</b>" : ""). "</a><br />\n"; } if( $etdir ) { tree( $path . $entry . "/", $type, $indentno, $line, $indent . $line ); } } } $d->close(); } ?>
23. november 2004 - 20:05
#3
Den kommer med følgende fejl: Fatal error: Call to undefined function tree() in E:\web\cms\admin\_sider.php on line 8 Er tree() en indbygget php-funktion?!?
23. november 2004 - 20:08
#4
tree er en funktion i det jeg skrev, så den kan ikke være udefineret function tree( $path, $type, $indentno, $line = "", $indent = "" ) {
23. november 2004 - 20:09
#5
Ja okay... Det kan jeg da godt se... Var lige lidt for hurtig med at tyde fejlmeddelelsen
23. november 2004 - 20:14
#6
Kan dog ikke lige se hvorfor den melder fejlen.
23. november 2004 - 20:18
#7
jeg har lige gentestet den og den køre fint her, så hmmmmmm
23. november 2004 - 20:24
#8
Nu fik jeg det også til at virker, men den er jo ikke meget anderledes end min egen. Jeg mangler en funktion hvor jeg kan bladre i alle mapper. -> Gå frem og tilbage mellem mapperne.
23. november 2004 - 20:32
#9
ahhh - sorry jeg læste dit spg, forkert. ( det er jeg go til :-) )
23. november 2004 - 21:03
#10
rettet lidt, absolut ikke køn, men ideen er der ( vist ) <? if( $_GET['folder'] == "" ) $folder = "./"; else $folder = $_GET['folder']; chdir( $folder ); tree( "./", "*", 3 ); function tree( $path, $type, $indentno, $indent="" ) { for( $x=1;$x<=$indentno;$x++) { $indent.=" "; } $d = dir($path); while (false !== ($entry = $d->read())) { $etdir = is_dir($path.$entry); if( $entry != "." && $entry != "" ) { $path_parts = pathinfo($entry); if( strstr($type, $path_parts["extension"]) || $type=="*" ) { echo ($etdir?"<b>":"").$indent.$entry.($etdir?"</b>":"")."<br />\n"; } if( $etdir ) { $sti=$path.$entry."/"; echo "<a href=" . $_SERVER['PHP_SELF'] . "?folder=$sti>$sti</a><br />"; } } } $d->close(); } ?>
Vi tilbyder markedets bedste kurser inden for webudvikling