Veröffentlicht 5. Juli 200718 j 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
5. Juli 200718 j ...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"...
5. Juli 200718 j Hallo, bitte verwende beim nächsten Mal einen aussagekräftigen Betreff. Hast Du schon in die PHP-Doku geschaut?
5. Juli 200718 j 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.