IP-MAN Geschrieben 5. Juli 2007 Geschrieben 5. Juli 2007 Hallo, ich habe ein php script im Internet gefunden. Ich habe es schon ein wenig geändert. Aber ein Problem habe ich. Das Script soll die Daten anzeigen die in einen Ordner sind. Ohne Datenendung. In diesen Ordner sind nur html files drin. Jetzt soll das Script alle HTML Files anzeigen aber ohne die Datenendung. Zum Beispiel: Test.html wird zu Test! hier der php script: <?php $BaseDir = "."; $ExludeFileExts = array("php","inc","css","dat","csv" ); $TextNoFiles = "Es sind keine Beta-Versionen vorhanden."; ?> <html> <head> <title></title> <link rel=stylesheet type="text/css" href="css.css"> </head> <body> <!-- Beginn: Titelzeile für Tabelle --> <? $CurrentDir = trim($_GET["dir"]); if (!$CurrentDir) { $CurrentDir = ""; } $SortMode = substr(trim($_GET['sort']), 0, 4); if ($SortMode == "") $SortMode = $DefaultSort; ?> <table style="border: 0px; background: white" class="FileListTable"> <?php ShowFileList($CurrentDir); ?> </table> </body> </html> <?php function IsFileExcluded($FileName) { global $ExludeFileExts; if (is_dir($FileName)) return False; $path_parts = pathinfo($FileName); $ext = strtolower($path_parts["extension"]); return (in_array($ext, $ExludeFileExts)); } function ShowFileList($CurrentDir) { global $BaseDir; global $DescFile; global $SortMode; global $TextNoFiles; // Aktuelles Verzeichnis überprüfen $CurrentDir = trim(substr($CurrentDir, 0, 209)); if ($CurrentDir[0] == ".") $CurrentDir = ""; $path_parts = pathinfo($CurrentDir."/TEMP"); $dir = $path_parts["dirname"]; if (($dir == "/") || ($dir == "\\") || ($dir == ".")) $CurrentDir = ""; $pos = strpos($CurrentDir, ".."); if (strlen($pos) > 0) $CurrentDir = ""; $Directory = $BaseDir; if (strlen($CurrentDir) > 0) { $Directory = $BaseDir.$CurrentDir; } // Verzeichnis zum Auslesen öffnen $hDir = @opendir($Directory); if (!$hDir) { echo "<p><b style=\"color:#cc0000;\">WRONG DIRECTORY NAME!</b></p>"; return 0; } $FilesArray = array(array("FileName" => "..", "IsDir" => True, "Size" => 0)); if ($CurrentDir == "") { array_shift($FilesArray); } // Dateien und Verzeichnisse einlesen while ($file = readdir ($hDir)) { if ( ($file != ".") && ($file != "..") && (substr($file, 0, 1) != ".") && (strtolower($file) != strtolower(substr($DescFile, -(strlen($file))))) && (!IsFileExcluded($Directory."/".$file)) ) { array_push($FilesArray, array("FileName" => $file, "IsDir" => is_dir($Directory."/".$file), "FileSize" => filesize($Directory."/".$file), "FileTime" => filemtime($Directory."/".$file) )); } } // Dateien ausgeben foreach($FilesArray as $file) { if (!$file["IsDir"]) { $FileLink = $Directory."/".$file["FileName"]; $FileName = $file["FileName"]; /* $FileSize = number_format($file["FileSize"] / 1024, 2, ",", ".")." KB"; $FileTime = date("d.m.Y, H:i:s", $file["FileTime"]); $FileDesc = ""; */ include("inc_item.php"); } } if (count($FilesArray) == 0) { echo "<tr><td colspan=4 style=\"border: 0px; background: white; text-align:center\">".$TextNoFiles."</td></tr>\n"; } // Verzeichnis schließen @closedir($hDir); } // Sortierfunktion für den Dateinamen (absteigend) function Compare_FileName ($a, $ { if ($a["FileName"] == $b["FileName"]) return 0; return ($a["FileName"] < $b["FileName"]) ? -1 : 1; } // Sortierfunktion für die Dateigröße (absteigend) function Compare_FileSize ($a, $ { if ($a["FileSize"] == $b["FileSize"]) { return Compare_FileName ($a, $; }; return ($a["FileSize"] < $b["FileSize"]) ? -1 : 1; } // Sortierfunktion für das Änderungsdatum (aufsteigend) function Compare_FileTime ($a, $ { if ($a["FileTime"] == $b["FileTime"]) { return Compare_FileName ($a, $; }; return ($a["FileTime"] > $b["FileTime"]) ? -1 : 1; } // Sortierfunktion für die Beschreibung (absteigend) function Compare_FileDesc ($a, $ { if ($a["FileDesc"] == $b["FileDesc"]) return 0; return ($a["FileDesc"] < $b["FileDesc"]) ? -1 : 1; } ?> [/PHP] Kann mir jemand den Script schnell ändern? Danke! :uli Zitieren
sockä Geschrieben 5. Juli 2007 Geschrieben 5. Juli 2007 ...wie wäre es, mit SubStr() (PHP: substr - Manual) am Ende die Endung abzuschneiden? Oder die Funktion basename() (PHP: basename - Manual) aufrufen, die nur den Dateinamen liefert... Und übrigens: einen Thread-Title wie "wer kann php" beschreibt nicht gerade gut dein...ich nenne es mal so... "Problem"... Zitieren
P3AC3MAK3R Geschrieben 5. Juli 2007 Geschrieben 5. Juli 2007 Hallo, bitte verwende beim nächsten Mal einen aussagekräftigen Betreff. Hast Du schon in die PHP-Doku geschaut? Zitieren
IP-MAN Geschrieben 5. Juli 2007 Autor Geschrieben 5. Juli 2007 Danke, ich habe es mit den Befehl hinbekommen. echo substr($FileName, 0, 4) von php habe ich sehr wenig ahnung. und nächstes mal nehme ich einen besseren eindeutigen betreff. danke Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.