Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Verlinkung auf lokales File funktioniert nicht

Frage Entwicklung PHP

Mitglied: fabmeister19

fabmeister19 (Level 1) - Jetzt verbinden

10.06.2010 um 14:28 Uhr, 4793 Aufrufe, 11 Kommentare

Hallo Leute ich habe folgendes Problem:
ich möchte eine Verlinkung auf ein lokal gespeichertes HTML Dokument machen. Die webseite läuft auf einem localhost webserver via xammp. nun hab ich in meiner Datenbank die Pfade zu stehen beispielsweise:
"D:\start.html"

mein Verweis auf den Pfad läuft so:
$pro_pfd =$_GET['pfad'];

Diesen Text lese ich aus der Datenbank und möchte ihn per Klick auf einem Hyperlink in einem neuen Fenster öffnen. Dazu hab ich folgendes definiert:
<a href="file://"'.$pro_pfd.' target="_blank">Details</a>

allerdings passiert beim klicken auf den Link nix. In der Statusleiste des Browsers ist folgendes zu sehen:
"file:///D:/start.html"

wie gesagt beim klicken auf den Link passiert nichts. Hoffe ihr kriegt den Fehler raus.

Über eure Hilfe wär ich sehr dankbar.
Mitglied: masterG
12.06.2010 um 00:02 Uhr
schon mal ohne file:// probiert. Ist eigentlich nicht notwendig bei HTML seiten.
Bitte warten ..
Mitglied: RedEye
16.06.2010 um 11:24 Uhr
Hallo,

ich würde den Link über den Xamp-Server aufbauen, die Datei in den htdocs-Ordner schieben und folgendes beachten:


01.
$pro_pfd =$_GET['pfad']; 
02.
$trusted = array('start.html', 'usw'); 
03.
 
04.
if (in_array($pro_pfd, $trusted)) 
05.
06.
if (file_exists($pro_pfd)) 
07.
08.
echo '<a href="http://localhost/" . $pro_pfd . " target="_blank">Details</a>'
09.
10.
}

--
LG
RedEye
Bitte warten ..
Mitglied: fabmeister19
17.06.2010 um 08:14 Uhr
hey danke für die antworten.
@RedEye:
ja das geht leider nicht. der datei verweis ist nen link auf ne "start.html" da wo die start.html liegt liegen auch noch viele andere dateien. da zu jedem projekt immer ne HTML Ansicht des Projekts erzeugt wird. es würde mir also am meisten helfen wenn alles da liegen könnte wo es bleibt, und die verlinkung trotzdem geht
Bitte warten ..
Mitglied: RedEye
17.06.2010 um 09:45 Uhr
Zitat von fabmeister19:
hey danke für die antworten.
@RedEye:
ja das geht leider nicht. der datei verweis ist nen link auf ne "start.html" da wo die start.html liegt liegen auch noch
viele andere dateien. da zu jedem projekt immer ne HTML Ansicht des Projekts erzeugt wird. es würde mir also am meisten
helfen wenn alles da liegen könnte wo es bleibt, und die verlinkung trotzdem geht

Hallo,

das heisst Du hast die zu verlinkenden Dateien nicht im DocumentRoot Deines Webservers?

Dann erstell quasi ein zusätzliches DocRoot im ApacheServer.
Dazu erstellst Du einen Alias in der httpd.conf.

Alias /v2 "d:/v2/" 
<Directory "d:/v2"> 
Order allow,deny 
Allow from all 
</Directory>
(Ungetestet, schau sicherheitshalber in der Apache Doku nach)

Dann sollte der Link via http://localhost/v2/ möglich sein.

--
LG
RedEye
Bitte warten ..
Mitglied: fabmeister19
17.06.2010 um 10:03 Uhr
Okay, danke erstmal soweit?!

Also ich habe in meinem Projekt in meiner Datenbank immer den Dateipfad des Projekts gespeichert! Der könnte folgendermaßen lauten:

T:\Projekte\0003-11-06 BE Sandauer Holz 2\015 Ausführungsplanung\Auslieferungen\Endfassung\start.html

Diesen Pfad möchte ich dann beim klicken auf den Link öffnen:

mein Verweis auf den Pfad läuft so:
$pro_pfd =$_GET['pfad'];

Diesen Text lese ich aus der Datenbank und möchte ihn per Klick auf einem Hyperlink in einem neuen Fenster öffnen. Dazu hab ich folgendes definiert:
<a href="file://"'.$pro_pfd.' target="_blank">Details</a>

Läuft das denn mit der Verlinkung? ich habe folgendes in die httpd.conf geschrieben:

Alias /v2 "T:/v2/"

<Directory "T:">

Order allow,deny

Allow from all

</Directory>


Funktioniert das alles soweit?
Bitte warten ..
Mitglied: RedEye
17.06.2010 um 10:30 Uhr
Warum nimmst Du eigentlich die Pfade deiner Projekte aus einer DB??
Sorry, sieht sehr verkompliziert aus
Ich bin eher ein Freund eines übersichtlichen Dateisystems, bei mir schauts am Produktionsserver so aus:
-htdocs
----projekt1
----projekt2
----usw.

Das Ding wird täglich weggesichert, der Überblick ist auch für andere Entwickler gegeben und es liegt alles im DocRoot-Ordner.
In dem Fall würde das nicht funktionieren weil du ja den Pfad "Projekte\0003-11-06 BE Sandauer Holz 2\015 Ausführungsplanung\Auslieferungen\Endfassung" in der httpd.conf berücksichtigen müsstest.

Andere Idee......

<a href="loader.php?target='.$pro_pfd.' target="_blank">Details</a> (In der $pro_pfd steht der übergeben Pfad drinnen)

In der loader.php includest Du dann die jeweilige Datei:
-- Abfrage ob Datei existiert usw.
--include(Die Datei);

--
LG
RedEye
Bitte warten ..
Mitglied: fabmeister19
17.06.2010 um 10:38 Uhr
okay danke dafür, ich probiers mal
Bitte warten ..
Mitglied: fabmeister19
17.06.2010 um 10:54 Uhr
also hab folgendes probiert:
als pfad in meiner DB steht nur noch folgendes:
T:\Projekte\0003-11-06 BE Sandauer Holz 2\015 Ausführungsplanung\Auslieferungen\Endfassung\

der pfad wird übergeben :
<a href="loader.php?='.$pro_pfd.'" target="_blank">Details</a>

in der datei loader.php steht folgendes:

<?php
$seite = $_GET['target'];
include("$seite/start.html");
?>

geht aber nicht.

Warning: include(start.html) [function.include]: failed to open stream: No such file or directory in C:\xampp\xampp\htdocs\PIS\loader.php on line 3

hast du ne idee wie ich das dann einbinde. hab schon mehrere varianten probiert.
Bitte warten ..
Mitglied: RedEye
17.06.2010 um 11:13 Uhr
lass dir den zusammengestellten pfad mal ausgeben:
echo $seite . "/start.html";
(Schreib nur Strings in Anführungsstrichen und seperiere Variablen davon: include($seite . "/start.html");

und:

verwende ggf. urldecode() und urlencode() damit der Pfad korrekt übergeben wird (Leerzeichen usw).

01.
<?php 
02.
$target = (!empty($_GET['target'])) ? (trim(urldecode($_GET['target'])) . '/start.html') : (false); 
03.
 
04.
if (file_exists($target)) 
05.
06.
	include($target); 
07.
08.
else 
09.
10.
	echo 'File "<b>' . $target . '</b>" not found!<br />'
11.
12.
?>
Hoffe ich hab mich nicht vertippt, hab keine Möglichkeit das jetzt zu testen
Bitte warten ..
Mitglied: fabmeister19
17.06.2010 um 11:25 Uhr
File "T:\Projekte\0013-22-04 Wehr IV\015 Ausführungsplanung\Auslieferungen\Endfassung\start.html" not found! meldet er...
Bitte warten ..
Mitglied: RedEye
17.06.2010 um 11:30 Uhr
Hast Du über die php.ini irgendwelche Einschränkungen was das Dateisystem betrifft?
Nachdem Du Xamp verwendest fährst Du auf Windows oder?
Kopier dir die Zeile mit dem Pfad, gib sie im Explorer ein.
Und schau was passiert, wird die Datei geöffnet?
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Linux
LTSP: PXE Boot funktioniert nicht (22)

Frage von Fenris14 zum Thema Linux ...

Windows Server
gelöst Active Directory File Extension - Associated Program (11)

Frage von adm2015 zum Thema Windows Server ...

CPU, RAM, Mainboards
PC Engines apu3a4 product file (7)

Link von ashnod zum Thema CPU, RAM, Mainboards ...

Heiß diskutierte Inhalte
Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...