php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.11.2005, 10:31  
Gast
 
Beiträge: n/a
Standard [Erledigt] XML-Datei direkt von FTP-Quelle parsen

Ich möchte aus einer PHP Funktion von einem ftp-server ein XML auslesen, dieses Parsen und die Informationen auf meiner Homepage ausgeben.

Zur Zeit wird bei einem Homepagebesuch die XML-Datei via ftp_get gedownloadet, zwischengespeichert, geöffnet, geparst und dann ausgegeben.

Nun schaue ich nach einer alternativen Variante, diesen Vorgang zu vereinfachen und die XML-Datei ohne Zwischenspeicherung darzustellen.

Bin dankbar für jeden Gedankensnstoss...
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.11.2005, 10:55  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Geht fopen("<protokoll>://<username>:<password>@<ip>:<port>/<ordner>/<datei>", "r") denn nicht?
Zergling-new ist offline   Mit Zitat antworten
Alt 04.11.2005, 10:55  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

naja parsen kannst du nur wenn du ein komplettes dokument hast, naja -> zwishcenspeichern weglassen und im speicher des php-scripts halten ?

imho, ne art cache-funktion ? für -> nicht erreichbarkeit oder wenn das dokument sich nciht verändert hat.

mfg
robo47
robo47 ist offline   Mit Zitat antworten
Alt 04.11.2005, 11:39  
Gast
 
Beiträge: n/a
Standard

Ok, ja fopen funktioniert. Merci

Jetzt würde mich noch interessieren was passiert, wenn die Seite nicht verfügbar ist.
Gibt es eine Möglichkeit ein Timeout für fopen zu setzen?
Da ja das laden meiner Homepage verzögert wird...

In diesem Fall würde ich dann bei einer Zugriffszeit von > x Sekunden eine frühere Version des XMLs parsen und ausgeben.
  Mit Zitat antworten
Alt 04.11.2005, 12:41  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hm dazu müsstest du ja einen parallelen Thread haben, der die Zeit mist und den Thread mit der FTP-Verbindung dann kappt, wenns zu lange dauert. Gibts aber so direkt bei PHP nicht.

Höchstens den Timeout für die Skriptausführung runtersetzen und diesen dann irgendwie abfangen.

Klingt alles nicht nach dem Wahren. Geht anpingen denn irgendwie?
Zergling-new ist offline   Mit Zitat antworten
Alt 04.11.2005, 13:37  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

wenn du auf JS-basis vieleicht mit arbeitest, ne preload anzeige einblenden, dann schließt der user den browser vileihct nicht gleich.

naja wie sieht es denn aus, wie oft werden die daten aktualisiert ?
vieleicht alles lokal cachen, einmla /mehrmals täglich ein update ? via cronjob oder ähnlichem ?
robo47 ist offline   Mit Zitat antworten
Alt 04.11.2005, 14:51  
Gast
 
Beiträge: n/a
Standard

@Zergling
Naja das "Timeout für die Skriptausführung" lass ich besser sein :wink:

Für eine Socketverbindung gibts ja ne Funktion socket_set_timeout(). Vieleicht gibts das auch für fopen()

Theoretisch müsste man ja auch eine Verbindung mit fsockopen hinkriegen und so könnte man mit dem Timeout arbeiten?!

@robo47
Oje, JS, auf solche Mittel möchte ich nur im Notfall zurückgreifen...

Die Daten werden ca. alle 2h aktualisiert und ändern sich nicht allzu sehr ausser bei Hochwasser (Wasserstand).

hmm, Cronjob wäre das ideale, allerdings habe ich keine entsprechende Serverrechte.
  Mit Zitat antworten
Alt 04.11.2005, 15:16  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
Zitat von Radisli
Für eine Socketverbindung gibts ja ne Funktion socket_set_timeout(). Vieleicht gibts das auch für fopen()
[..]
hmm, Cronjob wäre das ideale, allerdings habe ich keine entsprechende Serverrechte.
Wußte ich garnicht.

Aber für cronjobs: http://www.cronjob.de
Zergling-new ist offline   Mit Zitat antworten
Alt 04.11.2005, 15:29  
Gast
 
Beiträge: n/a
Standard

@Zergling
Zumindest steht das mit dem Timeout hier:
http://php.benscom.com/manual/de/fun...et-timeout.php

Das mit dem anpingen könnte einen Ansatz sein...
Habe mal folgendes vor mein Script gehängt:

PHP-Code:
<?php
if(@fsockopen($ftp_server$port$errno$errstr.5)) {
    [....]
}
?>
Mit .5 Sekunden Timeout...
Ist nur ein wenig schwierig zum Testen
  Mit Zitat antworten
Alt 04.11.2005, 15:51  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Wieso? Nimm halt ne Adresse die es nicht gibt, wenn der Server grad online ist.
Zergling-new ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Hochgeladene Datei wird doppelt abgelegt thecracked PHP Tipps 2008 3 01.07.2008 16:31
Datei durchsuchen Wöllchen Beitragsarchiv 3 02.03.2006 22:23
[Erledigt] Datei mit &amp;amp;amp;amp;quot;w&amp;amp;amp;amp;quot; schreiben -&amp;amp;amp;amp;gt PHP-Fortgeschrittene 17 30.12.2005 13:58
Datei Uploaden & Parsen PHP Tipps 2007 7 04.11.2005 20:51
Datei auf FTP-Server ändern ohne lokal abzuspeichern faux PHP-Fortgeschrittene 11 02.09.2005 11:54
Fehlersuche, Parsen funktioniert nicht! PHP Tipps 2005-2 6 23.08.2005 20:40
aus php datei eine pdf datei erzeugen lassen raffnix PHP-Fortgeschrittene 5 04.02.2005 15:08
[Erledigt] mail versand mit anhang (-- fopen(), fread(), filesize() --) PHP Tipps 2005 5 29.01.2005 18:36
Word Tabelle direkt in HTML Datei einfügen nsane HTML, Usability und Barrierefreiheit 7 28.12.2004 09:02
CRC Summe einer Datei ermitteln?? PHP Tipps 2004 1 14.10.2004 09:23
Datei mit php erzeugen Stümper PHP Tipps 2004 4 12.10.2004 12:51
php und ftp PHP Tipps 2004 4 07.10.2004 09:58
[Erledigt] datei editieren PHP Tipps 2004 1 10.09.2004 20:33
Umleitung wenn Parameter direkt angesteuert wird PHP Tipps 2004 13 25.08.2004 16:20
datei direkt in neu erstellten ordner einfügen... (auto.) lindner PHP Tipps 2004 1 17.08.2004 10:57

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php xml datei auf ftp schreiben, php xml-dateien per ftp, ftp börse xml, php inhalt einer xml datei vom ftp auslesen, xml datei von ftp server laden und in webseite ausgeben, php xml auslesen ftp server, eine xml datei dirkt auf dem server editieren, xml dokument von ftp server, xml ftp auslesen, xml mit ftp auslesen, xml von ftp auslesen, php xml datei von server parsen, ftp upload zur börse xml, php script zum auslesen und parsen von xml-daten zu, php datei parsen, ftp xml quelle, xml datei parsen, ftp mit \ftp quelle, xml auf webseite ausgeben, php eine xml datei per ftp auslesen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:51 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.