PHP Denkfehler? Verlinkte Dateien von Server via URL aufrufen

syntec

Lt. Commander
Dabei seit
Mai 2005
Beiträge
1.049
Ich habe hier folgendes Problem. Via Script lese ich rekursiv Ordner ein und speichere diese Ordner und Dateien dann in einer Datenbank.

Bei der Ausgabe des kompletten Verzeicnnisbaumes möchte ich gerne auf die Dateien direkt verlinken so dass man die Dateien im Browser aufrufen kann (z.B. PDFs ansehen, Word Dokumente öffnen usw.)

Dazu wandle ich alle slashes in backslashes um und korrigiere den Pfad so, dass er passt, also

\\SERVERNAME\VERZEICHNIS\DATEI.SUFFIX
PHP:
$server = "\\\\Servername";
echo "<a href=\"".$server.substr($verzeichnis,8,strlen($verzeichnis)).html_entity_decode($row['dateiname'],ENT_NOQUOTES,"UTF-8")."\">".substr($verzeichnis,34,strlen($verzeichnis)).html_entity_decode($row['dateiname'],ENT_NOQUOTES,"UTF-8")."</a><br>";
Problem ist hier, dass vor diesem korrekten Link natürlich der Pfad des Scriptes aus dem Browser ausgegeben wird und der Link so natürlich nicht mehr stimmt, als URL erscheint als immer "http://Adresse/" und dann die URL.

Benutze ich das Protokoll file:// wird mein umgewandelter Pfad wieder in zurückgewandelt und ich habe lauter slashes im in der Pfadangabe und dann stimmt der Pfad zum Dokument auch nicht mehr.

Wo liegt mein Denkfehler?
 

Arthur1901

Cadet 4th Year
Dabei seit
Nov. 2005
Beiträge
70
Hallo weis jetzt zwar nicht ob es hilft evtl. wäre es möglich das du dem Browser angaben musst das er nicht nach http:// suchen muss sonder file:// also einfach mal file:// davor schreiben

Gruß Richi
 

syntec

Lt. Commander
Ersteller dieses Themas
Dabei seit
Mai 2005
Beiträge
1.049
Hi, genau das mache ich ja, aber da steht da eben nicht

\\Server\ordner\datei.pdf

sondern

file://server/order/datei.pdf

und die Datei wird natürlich nicht gefunden.:mad:
 

Arthur1901

Cadet 4th Year
Dabei seit
Nov. 2005
Beiträge
70
Hmm aber das mit dem file:// ist richtig das andere ist die Windows Explorer link ein Browser öffnet das immer mit file:// so weit ich weis ;)
 

syntec

Lt. Commander
Ersteller dieses Themas
Dabei seit
Mai 2005
Beiträge
1.049
Macht er aber leider nicht... zum Thema file: habe ich diverses gefunden, leider sind meine URLs aber immer noch falsch. Leider liegen die Dateien nicht im Web-Verzeichnis, dann wäre es natürlich wesentlich einfacher.
 
Zuletzt bearbeitet:

Troublegum

Lt. Commander
Dabei seit
Mai 2011
Beiträge
1.064
Ja, wie soll das auch funktionieren? Welcher Browser hat denn auch einen Samba Client eingebaut? Ist also logisch, dass das nicht funktionieren kann.
Und Pfade mit file:// beziehen sich übrigens auf das lokale Dateisystem des Clients. Das funktioniert noch weniger.

Binde die Datei mit einem Protokoll wie http,https oder ftp ein.
 
Zuletzt bearbeitet:

g0l3m

Lt. Junior Grade
Dabei seit
Jan. 2002
Beiträge
320
Wo liegen denn die Dateien? Irgendwo im oder unterhalb des Webroots in einem vom Webserver & -user zugänglichen Verzeichnis?
 
Top