Willkommen in der Webstatt Zum Webstatt Blog und Stories
Lenny am 26.02.08 17:24

Auch wenn der Titel sich dumm anhört ,hört mir erstmal zu :D

Also ich habe mit PHP ein kleines Programm geschrieben dass praktisch wie ein Explorer arbeitet. Aus bestimmten verzeichnissen liest es Dateien aus die darin enthalten sind und stellt diese als Links im Browser da.

Das Programm liest also die Dateinamen aus und speichert diese in einer Variablen. Diese Variable wird dann direkt als pfad verwendet.

also z.b. : <a href="bereich1/'.$dateiname.'">'.$dateiname.'</a>

Das Problem ist jetzt natürlich wenn eine Datei Umlaute enthält, funktioniert der Link natürlich nicht. Hab versucht das mit der funktion htmlentities hinzukriegen aber es klappt einfach nicht, warum auch immer.

mit den charsets da blick auch nicht so ganz durch, kann es damit zusammenhängen?

Hoffe einer versteht das überhaupt :D

Gruß Lenny

netcup.de Warum gibt es hier Werbung?
Johannes am 26.02.08 17:44

Wenn ich dich richtig verstanden habe, suchst du sowas wie rawurlencode() oder halt die Umkehrfunktion

Wo ist das Problem bei den Charsets?

Lenny am 27.02.08 17:34

ok also das mit dem urlencode klappt nur bei den ordnern, diese öffnet er jetzt auch wenn sie umlaute enthalten bei dateien weigert er sich aber leider mit folgender meldung:



Zugriff verweigert!

Der Zugriff auf das angeforderte Objekt ist nicht möglich. Entweder kann es vom Server nicht gelesen werden oder es ist zugriffsgeschützt.

Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.
Error 403
localhost
02/27/08 17:37:55
Apache/2.2.6 (Win32) DAV/2 mod_ssl/2.2.6 OpenSSL/0.9.8g mod_autoindex_color PHP/5.2.5



liegt das vllt. auch an den server einstellungen dass er dateien die umlaute enthalten nicht öffnen will?

gruß lenny

Kathal am 02.03.08 23:10

Ist ja auch klar das es nicht geht ;) Umlaute sind in Dateinamen normalerweise nicht erlaubt und werden daher nicht bei einem Link akzeptiert also lass die umlaute besser raus.

Lenny am 12.03.08 15:56

ich weiss aber es muss doch irgendwie möglich sein per php oder nicht?

von mir aus kann er ja auch die umlaute "zum verschicken" unwandeln und danach wieder herstellen.

also mit diesem urlencode klappt das nur bei pfaden... dateien die umlaute enthalten kann man damit immer noch nicht öffnen.

ein freund meinte jetzt dass es vllt. mit einem regulären ausdruck möglich ist, davon hab ich aber gar keine ahnung muss ich mich erstmal mit beschäftigen.


mir ist schon klar dass man normalerweise besser auf umlaute verzichtet, aber wenn der kunde es so will ^^

gruß lenny

Lenny am 26.03.08 15:02

ok ich hab es jetzt mal in html getestet:

das heisst einfach eine datei "index.html" in der ein link enthalten ist auf die datei "testö.html". funktioniert einwandfrei.

wenn ich die Dateiendungen von .html zu .php ändere motzt der apache:

Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0

Fatal error: Unknown: Failed opening required 'C:/xampp/htdocs/test/testö.php' (include_path='.;C:\xampp\php\pear\') in Unknown on line 0


beide dateien sind mit utf-8 kodiert ich habe auch schon in der php.ini die kodierung von iso auf utf umgestellt... will trotzdem nicht

kennst sich da einer aus? kodiert php links automatisch anders als html?

ich bin ratlos...

gruß Lenny

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt