#1 14. Oktober 2009 Datei-Endung entfernen im Script Hallo zusammen, ich hab hier an nem Script rumgebastelt... ist auch schon alles so wie ich es möchte (er sucht sich Dateien mit .html Endung im Hauptverzeichnis und erstelt dazu Links) Nur möchte ich das er an dieser Stelle (die Rot makiert und Fett ist) Das er da (aber nur an der Stelle, er soll natürlich nicht generell ".html" löschen...) das .html abzieht bzw. die Datei Endung. Code: <?php $verzeichnis = dir("."); $endung = ".html"; while($datei = $verzeichnis->read()) { if(substr($datei,strlen($endung)*(-1)) == $endung) { [b][color=red]echo "<a href=\"http://www.********.de/kunden/test/index.php?pageid=$datei\">";[/b][/color] $fp = fopen($datei,"r"); while (!feof($fp)) { $linie = fgets($fp, 1024); if(eregi("<title>(.*)</title>", $linie, $title)) break; } $title = $title[1]; if($title != "") { echo "$title<br><br></a>"; } fclose($fp); } } $verzeichnis->close(); ?> Zur Erklärung: die html Dateien werden auf der Seite in die "index.php" per include Befehl geholt. Die Sitemap.php erstellt aber natürlich sonst nur Links zur Datei Direkt, aber ich möchte ja das er Links erstellt so das die Datei ganz normal in die Seite geladen wird. der include geht also ?pageid=BEISPIEL - die Datei dazu heißt auch beispiel.html also soll er beim Sitemap script jetzt nur beim Link das .html am ende entfernen da sonst der Link nicht klappt. + Multi-Zitat Zitieren
#2 14. Oktober 2009 AW: Datei-Endung entfernen im Script Stichwort reguläre Ausdrücke PHP: $datei = preg_replace ( "/^(.*?)\.html$/i" , "$1" , $datei ); + Multi-Zitat Zitieren
#3 15. Oktober 2009 AW: Datei-Endung entfernen im Script Klappt nicht. Oder muss es an bestimmter stelle eingefügt werden? habs ganz oben unter $endung eingefügt. Links werden aber immernoch mit .html am ende erstellt. + Multi-Zitat Zitieren
#4 15. Oktober 2009 AW: Datei-Endung entfernen im Script Naja man sollte es schon an die richtige Stelle setzen...und die ist, wenn ich den Ausdruck richtig verstanden habe, direkt vor dem echo. Allerdings solltest du den Ausdruck lieber in einer 2. Variable speichern, da du den Original-Dateiname ja nochmal benutzt (oder alternativ .html wieder dranhängen). + Multi-Zitat Zitieren
#5 15. Oktober 2009 AW: Datei-Endung entfernen im Script ungetestet, sollte aber gehen: PHP: <? php$verzeichnis = dir ( "." ); $endung = ".html" ;while( $datei = $verzeichnis -> read ()) { if( substr ( $datei , strlen ( $endung )*(- 1 )) == $endung ) { echo "<a href=\"http://www.********.de/kunden/test/index.php?pageid=" . str_replace (array( '.html' ), array( '' ), $datei ). "\">" ; $fp = fopen ( $datei , "r" ); while (! feof ( $fp )) { $linie = fgets ( $fp , 1024 ); if( eregi ( "<title>(.*)</title>" , $linie , $title )) break; } $title = $title [ 1 ]; if( $title != "" ) { echo " $title <br><br></a>" ; } fclose ( $fp ); }} $verzeichnis -> close (); ?> + Multi-Zitat Zitieren
#6 15. Oktober 2009 AW: Datei-Endung entfernen im Script Oh davon würde ich aber abraten! Angenommen du hast eine Datei die heißt: "meine.neue.seite.in.html.html", gut, dummes Beispiel, aber kann passieren, kommt "meine.neue.seite.in" raus. Es geht um die Dateiendung und nicht um diesen String im Allgemeinen. + Multi-Zitat Zitieren
#7 15. Oktober 2009 AW: Datei-Endung entfernen im Script echo $hallo; PHP: <? php$verzeichnis = dir ( "." ); $endung = ".html" ;while( $datei = $verzeichnis -> read ()) { if( substr ( $datei , strlen ( $endung )*(- 1 )) == $endung ) { echo "<a href=\"http://www.********.de/kunden/test/index.php?pageid=" . substr ( $datei , 0 , -( strlen ( $endung ))). "\">" ; $fp = fopen ( $datei , "r" ); while (! feof ( $fp )) { $linie = fgets ( $fp , 1024 ); if( eregi ( "<title>(.*)</title>" , $linie , $title )) break; } $title = $title [ 1 ]; if( $title != "" ) { echo " $title <br><br></a>" ; } fclose ( $fp ); }} $verzeichnis -> close (); ?> exit("mfg"); + Multi-Zitat Zitieren
#8 15. Oktober 2009 AW: Datei-Endung entfernen im Script BW an alle raus schonmal! Weiß jetzt noch jemand wie ich das als liste ausgebe? Gruß und Danke! (mit <li> davor habe ich das schon soweit hinbekommen, hat sich also eigentlich erledigt) + Multi-Zitat Zitieren
#9 15. Oktober 2009 AW: Datei-Endung entfernen im Script PHP: <? php$verzeichnis = dir ( "nav/1/1/" ); $endung = ".html" ;echo '<ul>' ;while( $datei = $verzeichnis -> read ()) { if( substr ( $datei , strlen ( $endung )*(- 1 )) == $endung ) { echo "<li><a href=\"http://www.********.de/kunden/test/index.php?pageid=" . substr ( $datei , 0 , -( strlen ( $endung ))). "\">" ; $fp = fopen ( $datei , "r" ); while (! feof ( $fp )) { $linie = fgets ( $fp , 1024 ); if( eregi ( "<title>(.*)</title>" , $linie , $title )) break; } $title = $title [ 1 ]; if( $title != "" ) { echo " $title </a></li>" ; } fclose ( $fp ); }} $verzeichnis -> close ();echo '</ul>' ; ?> + Multi-Zitat Zitieren