PHP3 Frage

Post Reply
Message
Author
User avatar
Stormbringer
Posts: 1570
Joined: 11. Jan 2001 11:01
Location: Ruhrgebiet

PHP3 Frage

#1 Post by Stormbringer »

Hallo,
ich hoffe das auch zu diesem Thema Fachleute da sind ... :)

zunächst einmal: ich habe äußerst wenig Erfahrung im Programmieren ...........
Ich nutze MySQL 3.22.32 und PHP/3.0.16 auf einem SuSE Linux 7 System.
Trotzdem meine Frage(n):
Für ein Uniprojekt (Maschinenbau) habe ich eine MySQL Datenbank erstellt. Diese soll Daten von Telemetrieanlagen aufnehmen.
Die Daten sind in Form von einzelnen ASCII Dateien vorhanden und haben einen unique Dateinamen (z.B.: td51999.dat).
Der Inahlt sieht z. B. folgendermaßen aus:
!076005240101032628004370000018080000088
Vorhandene Felder sind z.B.:
ID | Anlage | Datensatznr. | etc.
Nun kommen die Daten in Form einer Datei (TDxxxx.yyy) und haben den Aufbau: !aabbbbcccddddddeeeffffff (dies soll nur verdeutlichen, daß die Datensätze prinzipiell den gleichen Aufbau haben).
Zum Ansehen/Manipulieren der Datensätze habe ich drei php3 Dateien erstellt (ansehen/manuelle Eingabe/bearbeiten vorhandener).
Soweit klappt eigentlich alles (Stolz!! <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle"> ).
Mittlerweile geht mir aber das manuelle Eingeben der Datensätze (etwas) auf den Geist.
Mit phpMyAdmin o. ä. möchte ich dort nicht gerne arbeiten, da dies zu viele weitere Optionen der Manipulation zuläßt.
Kann mir bitte jemand sagen / schreiben / zeigen / helfen, wie solch ein automatischer Datenimport per Formular realisierbar ist?
Ich habe ein Skript, welches nach dem Ursprung fragt, und nach Eingabe/Auswahl des Speicherorts und des Dateinamens wird die Datei eingespielt.
Dies setzt aber immer noch einen manuellen Eingriff voraus. Kann das Ganze z. B. zu einem CronJob werden, in welchem festgelegt ist, daß die Daten immer in einem bestimmten Verzeichnis liegen und dann vollkommen automatisiert eingespielt werden?
Nächste Frage: wie kann ich den Namen der Datei auslesen und ebenfalls in die db einlesen?

Danke im Voraus!!!

Grüße
Last edited by Stormbringer on 24. Jan 2001 11:01, edited 1 time in total.

bman
Posts: 3
Joined: 30. Jan 2001 21:03

Re: PHP3 Frage

#2 Post by bman »

hallo,

wenn du dein php als apache-modul im system hast und nicht in form von einem cgi dann könnte es mit einem interaktionslosen script schwer werden. in cgi-form hast du ja einen interpreter der nicht vom apache und somit auch nicht vom browser abhängt und kannst deine scripte direkt von der kommandozeile bzw. von einem cronjob aus starten. Ich habe das noch nie gemacht. du bekommst aber auf php.net www.dynamic-webpages.de sicher infos dazu.

frag auch mal in #php.de im ircnet nach (zb. auf irc.uni-erlangen.de)

ich programmiere z.zt in perl, und würde das im ungünstigsten fall (wenn dein php als apache modul läuft, und dir keiner erklährt wie du dass mit der cgi-form hinbekommst) so machen:

Das verzeichnis in dem die zu importierenden Dateien liegen wird per perlscript eingesehen. Es wir dann ein useragent in perl produziert (wie ein browser) der dir dann deine formularfelder ausfüllt (mit den daten aus dem festgelegten verzeichnis). das formular wird dann an dein phpscript geschickt, dass ja dann die dateiinhalte selbst in die Datenbank einspeist.

Sprich du lässt das formular von einem script gesteuerten brauser ausfüllen. das klingt schwer, ist in perl aber ganz einfach.

dein php3 script bekommt die daten dann wie wenn du sie von hand eingegeben hättest und kann sie in die datenbank speisen.

Wenn du willst schreib ich dir so ein perlscript, und dokumentier dir den sourcecode damit du ihn dann anpassen kannst.
Was ich dazu von dir bräuchte ist die htmlseite mit dem formular wo du manuell eingetragen hast, wo das verzeichnis mit den dokumenten ist usw.

cu
bman

kannst mir auch mailen: bgeiring@web.de

Michael

Re: PHP3 Frage

#3 Post by Michael »

Hallo

Aus ASCII-Dateien kannst du in PHP mit $fd=fopen("Datei") und fgets($fd) einlesen lassen.
Um die Namen der Dateien auszulesen, wirst du in PHP zuerst das verzeichnis auslesen lassen müssen.

Das ganze per cron automatisiert machen zu können, ist ein (recht) einfach skript zu schreiben. Eigentlich ist das php3-Skript das, was der cron ausführen soll. Also ist ist das Skript deine PHP Datei.

TIP: www.php3-forum.de oder www.phpwelt.de - abteilung forum.

Michael

bman
Posts: 3
Joined: 30. Jan 2001 21:03

Re: PHP3 Frage

#4 Post by bman »

falls es dir wirklich nur um das einlesen einer datei geht, und ich dich vorher komplett falsch verstanden habe, dann mach das lieber mit der funktion file();

Das geht so:
<pre>
$ary_file_content = file("mein_file.txt");
print "$ary_file_content[<!--no-->1<!--no-->] <br>";
# dies druckt die 2. zeile aus "mein_file.txt"
</pre>

mehr infos hier: <a href="http://www.php.net/manual/en/function.file.php" target="_blank"><!--auto-->http://www.php.net/manual/en/function.f ... <!--auto-->
Last edited by bman on 31. Jan 2001 13:01, edited 1 time in total.

User avatar
Stormbringer
Posts: 1570
Joined: 11. Jan 2001 11:01
Location: Ruhrgebiet

Re: PHP3 Frage

#5 Post by Stormbringer »

VIELEN DANK FÜR DIE COMMENTS!!!!!!


@bman:
Ich sende Dir eine Email mit einer genaueren Beschreibung und den beiden Skripten.

: es ist halt gerade Semesterendspurt, da ging schon 'mal etwas verloren ......
Continuum Hierarchy Supervisor:
You have already been assimilated.
(Rechtschreibungsreformverweigerer!)

Post Reply