PHP-Variablen aus Webdateien auslesen

  • 6 Antworten
  • Letztes Antwortdatum
D

DrMartinus

Neues Mitglied
0
Hallo,

ich erwäge, aus einer Webseite, die ich vor vielen Jahren mit PHP erstellt habe, eine App zu machen. bevor ich mich mit den Grundlagen beschäftige, will ich erstmal wissen, ob das überhaupt geht. Die Daten, die ich in der App darstellen will, sind in Dateien als PHP-Variablen abgelegt. Die App müsste also diese Dateien öffnen und die Variablen auslesen können, um sie dann bei Bedarf anzuzeigen. Das Verfahren wäre in etwa so:
  1. Programm stellt Menü dar
  2. Bei Auswahl eines Menü-Eintrags wird eine Datei von der Webseite abgerufen und die darin enthaltenen Variablen eingelesen (z.B.
    Code:
    http://www.webseite.de/daten1.php
    )
  3. Die in "daten1.php" enthaltenen Variablen werden über ein neues Menü abrufbar (z.B. $Info1="Dies ist die erste Variable" wird angezeigt, wenn auf den Menü-Eintrag "Variable1" gedrückt wird)
Ich hoffe, meine Frage ist verständlich. Die Datei "daten1.php" enthält nichts außer PHP-Variablen, also keinen sonstigen php-Code (außer den Begrenzern für PHP). Die Daten sind etwa so in der Datei angelegt:
Code:
<?php
$var1="Variable 1";
$var2="Variable 2";
...
?>
 
Das ist natürlich totaler Quatsch, weil:

wenn du eine .php Seite per http Aufruf laden möchtest, sorgt der HTTP-Server dafür, das dieses PHP Skript interpretiert wird und dann kommt wie immer HTML am Ende raus (ist ja die Aufgabe eine HTTP-Servers->HTML Seiten zu liefern) - in deinem Fall, weil nur Variablen drin stehen, bekommst du also eine leere Seite zurück.

Wenn du deine Datei per FTP runterlädst, dann ist es ja nur eine normale Textdatei und du kannst nach deinen Variablen parsen, wobei diese Variante auch nicht schön ist.

Lass Dir deine Variablen doch lieber per Standardformat zb. JSON oder XML zurückgeben. Dann hast du unter Android gleich die passenden Parser.

Android JSON Parsing Tutorial
 
Alle Variablen in einer Array packen und per json_encode ausgeben
 
Danke für die schnelle Antwort. Du hast vermutlich übersehen, dass ich von einer Webseite schrieb, die schon seit vielen Jahren existiert. Es gibt natürlich ein PHP-Programm, das die Variablen auf der Webseite ausliest. Nur ist die Webseite auf einem Smartphone umständlich zu bedienen und schwierig zu lesen. Dem will ich mit der App abhelfen, indem ich die Daten auf für kleine Displays zugeschnittene Weise präsentiere. Wenn ich das Datenformat ändern würde, würde die Webseite nicht mehr funktionieren.
Ich könnte natürlich, was mühselig wäre, die Daten in ein anderes Format übertragen und beides vorhalten, dann hat das aber wieder Auswirkungen auf die regelmäßig stattfindenden Überarbeitungen der Seite, die ich dann jedesmal zweimal durchführen müsste.
Das seeeehr komplexe PHP-Programm auf ein anderes System umzuschreiben, dazu fehlt mir schlicht die Zeit.
Nur um den Aufwand zu verdeutlichen: Ich habe deutlich über hundert Datendateien mit jeweils über 80 darin enthaltenen Variablen, die teilweise sehr lange Texte enthalten (mit HTML Code). Das Programm selbst ist in zahlreichen Dateien verteilt und enthält mehrere tausend Zeilen Code.

Der Zugriff auf die Datei kann ja von mir aus auch über ftp erfolgen, wie du schreibst. Die Kernfrage ist, ob (und wie) das in einer App zu realisieren wäre.
Du scheinst ja davon auszugehen, dass der FTP-Zugriff möglich ist (also bleibt die Frage "wie?", die ich sicher auch selbst beantworten kann, wenn ich mich in Java eingearbeitet habe. Für das Parsen könnte ich schon eine Funktion schreiben, das wäre nicht allzu kompliziert.
Einen anderen Weg gibt es also nicht?
 
Jetzt muss ich nochmal Fragen, dir geht es nur um die Variablen oder um das eigentliche php programm? Fast klang es so als bräuchtest du nur eine angepasste Webseite für mobile Geräte.

Die Variante per ftp würde funktionieren, wesentlich eleganter und robuster wäre natürlich die JSON Variante.
Was hindert dich daran in einem extra skript php (welches von deiner App aufgerufen wird) die gewünschte php Seite (mit variabeln) dort zu laden und in ein Array zu packen nach JSON zu codieren und das an die App zu geben.

Wir reden hier ja die ganze Zeit von lesendem Zugriff, richtig ? Falls du die Variablen / Parameter in der App verändern willst und dann wieder durch dein php programm jagst, brauchst du so oder so noch eine Schnittstelle.



Gesendet von meinem A200 mit Tapatalk 2
 
killphil75 schrieb:
Jetzt muss ich nochmal Fragen, dir geht es nur um die Variablen oder um das eigentliche php programm? Fast klang es so als bräuchtest du nur eine angepasste Webseite für mobile Geräte.

Ja, darum geht es mir. Ich will die Variablen auslesen und in die App einfügen.

Die Variante per ftp würde funktionieren, wesentlich eleganter und robuster wäre natürlich die JSON Variante.
Was hindert dich daran in einem extra skript php (welches von deiner App aufgerufen wird) die gewünschte php Seite (mit variabeln) dort zu laden und in ein Array zu packen nach JSON zu codieren und das an die App zu geben.

Der Knackpunkt ist vermutlich der, dass dies technisch schwerer umsetzbar ist als einfach nur die Variablen auszulesen. Ich kenne JSON (noch) nicht, was ich bisher davon verstehe, ist, dass es nicht kompatibel ist mit php-Variablen. D.h. ich müsste die Daten aus den Variablen auf einem anderen Weg auslesen, könnte sie dann aber auch gleich in das Programm einbauen. Die Webseite liefert ja sehr umfangreiche Infos, die Variableninhalte sind nie gleich lang und teilweise mit HTML-Code durchsetzt.

Wir reden hier ja die ganze Zeit von lesendem Zugriff, richtig ? Falls du die Variablen / Parameter in der App verändern willst und dann wieder durch dein php programm jagst, brauchst du so oder so noch eine Schnittstelle.

Es geht nur um lesenden Zugriff - aber ich muss die Daten natürlich verarbeiten können, damit sie auf einem Smartphone vernünftig präsentiert werden. Das PHP-Programm würde ich für die App in Java oder was sich sonst anbietet neu schreiben.
 
Ok letzte Frage, du sprachst von über 80 Dateien, aber der Aufbau der Variablen-Dateien ist immer gleich?

Dann waere die Umsetzung nach doch JSON relativ einfach.

neue Php Datei (sozusagen unsere Schnittstelle) welche du mit parameter aufrufst. (get/post)
Php Datei laedt per include/require die benötigte Variablen Datei
Umsetzung nach JSON

$daten = Array();

$daten["var1"] = $var1;

ff fuer alle anderen Vars

json_encode($daten);

Fertig.
Auslesen in der App siehe das Tutorial in der ersten Antwort.

Gesendet von meinem A200 mit Tapatalk 2
 
Zurück
Oben Unten