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, 5486 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
Vmware
VMware Update für den ESXi 5.5 verfügbar
Information von sabines vor 12 StundenVmware

Nach dem ganzen Hickhack um Update mit Microcode Anpassungen und Rückzug, gibt es nun für den ESXi 5.5 ein ...

CPU, RAM, Mainboards

Meltdown und Spectre: Intel zieht Microcode-Updates für Prozessoren zurück

Information von keine-ahnung vor 16 StundenCPU, RAM, Mainboards5 Kommentare

Moin, extrem lutztig. Nur gut, dass ich noch nicht beim Probanden-Bingo mitgemacht habe :-) LG, Thomas

Router & Routing
PfSense als Addon auf QNAP
Information von magicteddy vor 1 TagRouter & Routing7 Kommentare

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 1 TagDatenschutz1 Kommentar

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement26 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Server
TEMP-Profile
gelöst Frage von Forseti2003Windows Server21 Kommentare

Guten Morgen, wer kennt sie nicht, die lieben Temporären Benutzerprofile, vorallem immer dann, wenn man sie am wenigsten braucht. ...

Multimedia & Zubehör
Welches Tablet für die Verkäufer?
Frage von Hendrik2586Multimedia & Zubehör15 Kommentare

Guten Morgen meine Lieben, vielleicht könnt ihr mir ja helfen. Es geht um unsere Außendienstmitarbeiter /Verkäufer. Sie sollen demnächst ...

Ubuntu
Ubuntu - Routing mit 2 Netzwerkkarten?
Frage von gabrixlUbuntu13 Kommentare

Hei Folgende Situation: Ich habe zwei virtuelle Maschinen: 1 - Server für DHCP, DNS und Routing - Netzwerkkarte 1: ...