Top-Themen

Aktuelle Themen (A bis Z)

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

gelöst XML File in PHP integrieren

Mitglied: BadFsaadKl

BadFsaadKl (Level 1) - Jetzt verbinden

26.10.2010 um 10:55 Uhr, 5509 Aufrufe, 16 Kommentare

Hallo,

ich möchte ein XML File, welches in einem Verzeichniss auf dem WebServer liegt, in einem PHP-File einbinden, damit ich dieses auch von extern mir anzeigen lassen kann.

Das XML - File liegt in einem Verzeichniss "C:\Programme\..." auf dem Webserver.
Das XML-File kann ich aber nicht an einen anderen Ort kopieren, das dieses ständig durch ein programm akualisiert wird, und in dem Verzeichniss bleiben muß.

Wie kann ich dieses File in einem PHP oder HTML File mir anzeigen lassen, das ich auch vom WEB-Server aus mir den Inhalt anzeigen lassen kann ???

So hab ich es momentan probiert.


01.
<?php 
02.
$file = "C:\Programme\Log\topology.xml"; 
03.
$depth = array(); 
04.
 
05.
function startElement($parser, $name, $attrs)  
06.
07.
    global $depth; 
08.
    for ($i = 0; $i < $depth[$parser]; $i++) { 
09.
        echo "  "; 
10.
11.
    echo "$name\n"; 
12.
    $depth[$parser]++; 
13.
14.
 
15.
function endElement($parser, $name)  
16.
17.
    global $depth; 
18.
    $depth[$parser]--; 
19.
20.
 
21.
$xml_parser = xml_parser_create(); 
22.
xml_set_element_handler($xml_parser, "startElement", "endElement"); 
23.
if (!($fp = fopen($file, "r"))) { 
24.
    die("could not open XML input"); 
25.
26.
 
27.
while ($data = fread($fp, 4096)) { 
28.
    if (!xml_parse($xml_parser, $data, feof($fp))) { 
29.
        die(sprintf("XML error: %s at line %d", 
30.
                    xml_error_string(xml_get_error_code($xml_parser)), 
31.
                    xml_get_current_line_number($xml_parser))); 
32.
33.
34.
xml_parser_free($xml_parser); 
35.
?> 
bekomme aber nur als Fehlermeldung:

Warning: fopen(C.\Programme....) [function.fopen]:failed to open stream: Invalid argument on line 24
Could not open XML input

Hat hier einer ne Idee...

Odre mach ich hier komplett was falsch ???

Danke
Mitglied: dog
26.10.2010 um 11:03 Uhr
Zuerst mal empfiehlt sich meistens SimpleXML zu verwenden.

Zum anderen wir diese Zeile geparst
$file = "C:\Programme\Log\topology.xml";
zu
01.
$file = "C:\Programme\Log    opology.xml"; 
Und nein, ein Tab ist kein gültiges Zeichen in einem Dateinamen.

Weshalb man auch immer einfache Anfürhungszeichen benutzt, wenn man nicht ganz genau weiß was man will.
Bitte warten ..
Mitglied: awagner82
26.10.2010 um 11:04 Uhr
Edit: Wie bereits gesagt: Falsche Pfadangabe!

Gruß
Bitte warten ..
Mitglied: BadFsaadKl
26.10.2010 um 11:22 Uhr
Moin,

ich bekomme zwar jetzt keinen Fehler mehr, daür bekomme ich nicht das gewünscht ergebniss.

Das XML-File wird von einem anderen Programm erzeugt, und ist dynamisch. sprich mit "aufklapp-Menüs"...

wenn ich jetzt das php-file öffne, bekomme ich nur die XML-Variablen in Blockform angezeigt.
Jedoch nicht, was sich dahinter verbirgt.

Ich will letzendlich einfach nur das XML-File auch von extern öffnen können.
Da ich das File nicht wegkopieren kann (weil hier Referenzen auf andere Ort angegeben sind) hab ich einen Webserver auf dem Server installiert, und wollte dieses File einfach in PHP einbinden.
Bitte warten ..
Mitglied: bequiet
26.10.2010 um 15:48 Uhr
Also:

Wie kann ich dieses File in einem PHP oder HTML File mir anzeigen lassen:

Erste möglichkeit wäre, es einfach mit inem iframe in die Page einzubauen. Somit wird es dort ganz normal angezeigt z.B.
01.
<iframe src = "deinedatei.xml"/>
Dann, wenn du nur an die Daten der Datei möchtest und diese dann ausgeben willst, hätte ich hier eine JavaScript möglichkeit (das funktioniert natürlich auch mit php aber da weiss ich gerade nicht wie genau
)
01.
<script type="text/javascript"> 
02.
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.3.0"); 
03.
xmlhttp.open("GET","xml_file.xml", false);  
04.
xmlhttp.send(null); 
05.
var variable = xmlhttp.responseXML.selectSingleNode("//gesuchterwert"); 
06.
var date = variable.text 
07.
... 
08.
</script>
schau dazu einmal hier evt http://www.phpbuilder.com/annotate/message.php3?id=1020252

Oder habe ich dich falsch verstanden? Hoff ich konnte dir etwas weiter helfen.

MfG
Bitte warten ..
Mitglied: Arano
26.10.2010 um 17:53 Uhr
Hallo.

Du willst die komplette XML-Datei, die zwar __auf__ dem Server aber __nicht__ im DocumentRoot liegt haben, oder ?
01.
<?php 
02.
  echo file_get_contents('C:\Programme\Log\topology.xml'); 
03.
?>
Vorausgesetzt es gibt keine Zugriffsbeschränkungen die den Zugriff auf Dateien außerhalb des DocumentRoots verhindern.

~Arano

Edit:
Ansonsten vielleicht einen Cronjob (Task) einrichten der die Datei ins DocumentRoot kopiert (je nachdem wie aktuell/veraltet die Datei sein darf).
Bitte warten ..
Mitglied: Midivirus
26.10.2010 um 22:28 Uhr
wenn der Webserver nur intern verwendet wird und es wahrscheinlich ein Apache ist,
sich mal über Alias informieren, dann geht das auch.

Und wenn ich den Thread richtig gerallt habe, soll die Datei einfach nur eingelesen und als Webseite ausgegeben werden?

Oder auch noch etwas damit angestellt werden?

Midi
Bitte warten ..
Mitglied: BadFsaadKl
28.10.2010 um 14:56 Uhr
Moin,

ja ist nen Apache Webserver.
Der Server, auf dem der Apache läuft, ist in unserem Firmennetzwerk integriert und auch im DNS eingetragen.

Was meinst du mit "Alias" ???

nun ja...
diese XML-Site ist wie gesagt bissle Dynamisch...
auch mit Java...

Wenn ich die XML im I-Explorer öffne, und hier ein Wort anklicke, rückt das ganze nach unten, und ich bekomme detailierte Informationen über den Inhalt dieses Wortes.

Sprich er muß ja Alles was das XML-File auslöst, auf dem Webserver anzeigen.
Bitte warten ..
Mitglied: Midivirus
28.10.2010 um 15:03 Uhr
Sprich er muß ja Alles was das XML-File auslöst, auf dem Webserver anzeigen.
Alias "/mama" "C:\katzenmaus\htdocs\beispiel"
wenn du das in deine conf packst, kannst du jeden Ordner auf der Platte, glaube sogar auch Netzlaufwerke, damit in den Apache mit integrieren.

aufrufbar dann mit: http://127.0.0.1/mama/

Wenn ich die XML im I-Explorer öffne, und hier ein Wort anklicke, rückt das ganze nach unten, und ich bekomme detailierte Informationen über den Inhalt dieses Wortes.
das ist bei XML so ... !

Sprich er muß ja Alles was das XML-File auslöst, auf dem Webserver anzeigen.
Und mit anzeigen, nur den Inhalt auslesen und auf dem Schirm anzeigen lassen ... ! Ohne mit der Datei etwas zu machen ...
Dann brauch man auch kein PHP mehr, in dem Sinne!

P.S.: reicht dir das dann nicht?
Bitte warten ..
Mitglied: BadFsaadKl
28.10.2010 um 15:40 Uhr
Doch doch...

das reicht mir auch schon...

wie funktioniert das dann mit diesem Alias ???
Bin hier in diesem Thema net so fit, wie du bestimmt schon mitbekommen haben solltest.

Ja, Soll nur angezeigt werden....
Bitte warten ..
Mitglied: Midivirus
28.10.2010 um 15:46 Uhr
Syntax:
01.
<Directory "C:/katzenmaus/wwwroot"
02.
    Options Indexes FollowSymLinks Includes ExecCGI 
03.
    AllowOverride All 
04.
    Order allow,deny 
05.
    Allow from all 
06.
</Directory> 
07.
 
08.
Alias "/mama" "C:\katzenmaus\htdocs\beispiel"
Wenn du in deiner Conf mal etwas stöberst, ... dann wirst du das erste Paket finden, ...
packst den Alias noch hinzu, wie oben beschrieben, gibt es den Unterordner "mama".

Fertig?
Bitte warten ..
Mitglied: BadFsaadKl
28.10.2010 um 16:14 Uhr
Soweit funktioniert es SUPER...
Danke....

Jetzt bekomme folgenden Fehler:



Die XML-Seite kann nicht angezeigt werden
Die XML-Eingabe kann nicht angezeigt werden, wenn Stylesheet XSL verwendet wird. Beheben Sie den Fehler und klicken Sie dann auf Aktualisieren, oder wiederholen Sie den Vorgang später.


Systemfehler: -2146697210.



Die Stylesheetsdatei lieg noch in einem anderen Ordner,...
Muß ich diesen auch noch mit angeben ???

Nur ich kann das Stylesheet XSL nicht deaktivieren, das das XML File wie gesagt automatisch erzeugt wird.
Bitte warten ..
Mitglied: Midivirus
28.10.2010 um 16:18 Uhr
nun, dachte hättest das gleich mit verstanden.

... du musst immer vom Webbrowser ausgehen!

wenn dein XSL ganz woanders liegt ... geht das natürlich nicht!

http://127.0.0.1/mama ... heißt doch nix anderes, dass im gleichen Ordner oder darunterliegende diese Datei enthalten soll ..., oder?

Ansonsten, kannst du dich auch nochmal über "Virtual Host" informieren!
01.
<VirtualHost *:8080> 
02.
    DocumentRoot "C:/katzenmama/zunge" 
03.
    ErrorLog "logs/error.reminder.log" 
04.
    CustomLog "logs/access.reminder.log" combined 
05.
</VirtualHost> 
06.
 
07.
Listen 80 
08.
Listen 8080
Aber hilfreich wäre es, wenn du mal so ein bissel von der Datei zeigst, damit das hier keine endlose Diskussion wird!
Bitte warten ..
Mitglied: BadFsaadKl
28.10.2010 um 16:42 Uhr
Hm...

ja, soweit hab ich auch schon mitgedacht...

Rufe den Link so im Browser auf:

http://server:90/topology/log/topology.xml

habe jetzt den übergeordneten Ordner eingetragen.
01.
	<Directory "C:/Programme/nworks/VIC/Collector/Log"> 
02.
		Options Indexes FollowSymLinks Includes ExecCGI 
03.
		AllowOverride All 
04.
		Order allow,deny 
05.
		Allow from all 
06.
	</Directory> 
07.
	Alias "/topology" "C:\Programme\nworks\VIC\Collector"
Das XML File liegt in dem Ordner: C:\Programme\nworks\VIC\Collector\Log
das Stylesheet liegt in dem Ordner: C:\Programme\nworks\VIC\Collector\xls

Das ist der Kopf des XML-Files:
01.
<?xml version="1.0" encoding="utf-8"?> 
02.
<?xml-stylesheet type='text/xsl' href='../xsl/topology.xsl'?> 
03.
<topology xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
04.
  <Associations /> 
05.
  <topologyNode id="VMware_Root" type="Folder" name="VMware Infrastructure">
Ab dem Bereich Associations kommen dann die ganzen Inhalte.
Bitte warten ..
Mitglied: Midivirus
28.10.2010 um 16:58 Uhr
Alias auf dieses Verzeichnis:
C:\Programme\nworks\VIC\Collector

01.
<Directory "C:/Programme/nworks/VIC/Collector/Log"> 
kannst du so lassen wie es war.

Also klappts?
Bitte warten ..
Mitglied: BadFsaadKl
28.10.2010 um 22:50 Uhr
Alias ist momentan auf "C:\Programme\nworks\VIC\Collector" gesetzt.
aber hier kommt obiger Fehler.

Und wenn ich es auf das LOG Verzeichniss mape, kommt der erste Fehler den ich angegeben hatte...

Klappt also net
Bitte warten ..
Mitglied: Midivirus
04.11.2010 um 21:47 Uhr
Für was brauchst du jetzt noch Hilfe?
Bitte warten ..
Ähnliche Inhalte
PHP
PHP und XML Float und Double
gelöst Frage von chrisenPHP2 Kommentare

Hallo zusammen, ich habe ein Problem mit der Erstellung von XML Dateien mit PHP: Und zwar gibt das erstellte ...

Batch & Shell
BATCH Element aus XML-File auslesen
gelöst Frage von pappkameradBatch & Shell9 Kommentare

Hallo liebe Admins, ich habe schon öfter bei euch vorbeigeschaut und ein immer eine Lösung für meine Problemchen gefunden. ...

PHP

PHP XML Statt Semikolon ein Zeilenumbruch

gelöst Frage von Judo99PHP2 Kommentare

Wie kann ich beim Auslesen eines XML-Files mittels PHP darin ein Semikolon durch einen Zeilenumbruch ersetzen? zum Beispiel: XML-Code: ...

PHP

Große Files posten mit php

Frage von it4baerPHP7 Kommentare

Hallo, ich habe mal wieder eine Frage. Von einem bekannten habe ich eine Funktion welches Daten verarbeitet und diese ...

Neue Wissensbeiträge
Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 28 MinutenWindows 10

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 3 StundeniOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 1 TagWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 1 TagSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Heiß diskutierte Inhalte
C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++28 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL19 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...

Hyper-V
HyperV DC + DNS + AC
gelöst Frage von HardstylesHyper-V16 Kommentare

Hallo kann mir jemand sagen wieso meine Domänen Computer kein Internetzugang erhalten? Ich hab hier ein Server wo die ...