Zum Inhalt springen

MySQL-Tabelle mit PHP füllen


Empfohlene Beiträge

Hallo,

ich muß hier eine bestehende MySQL-Tabelle per PHP mit einem *.dat - File füllen, das in einem Unix-Filesystem vorliegt und ehrlich gesagt hab ich keinen Plan, wie das geht.

Ich würde mich ja auch gerne einarbeiten (hatte noch nie richtig mit Unix zu tun), aber leider hab ich diese Aufgabe so kurzfristig und dringend bekommen, daß ich Eure Hilfe benötige...

Die *.dat - Datei liegt im Verzeichnis /home/info/export; ansonsten besteht eine Verbindung zur Datenbank.

Idealerweise möchte ich diesen Upload wie erwähnt mit PHP machen.

Wäre toll, wenn mir jemand helfen könnte!

Danke

-etops-

Link zu diesem Kommentar
Auf anderen Seiten teilen

also, mal für mich zum verständnis:

.dat-datei, wahrscheinlich eine auswertung o.ä. wird von einer software erzeugt und unter /home/info/export auf einer Unix / Linux-Maschine abgelegt.

(Läuft darauf der Webserver / besteht ein SMB / FTP-Zugriff?)

Per PHP soll diese Datei (automatisch aus dem Verzeichnis holen? / manuell den Pfad angeben?) geöffnet (wie gross ist die?) und nach bestimmten kriterien (z.B. 5 Textblöcke / Zahlenwerte, durch ; getrennt, in bestimmte tabellen) in eine MySQL-Datenbank geschrieben werden?

Du bist dran ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also erstmal danke Euch beiden, back.to.roots ist schon mal näher dran ;)

.dat-datei, wahrscheinlich eine auswertung o.ä. wird von einer software erzeugt und unter /home/info/export auf einer Unix / Linux-Maschine abgelegt.

(Läuft darauf der Webserver / besteht ein SMB / FTP-Zugriff?)

Bis hierhin korrekt, das htdocs-Verzeichnis liegt unter /srv/www/htdocs

Der Dateiname ist immer gleich; es soll dann die komplette Datei mit PHP in eine bereits bestehende Tabelle eingelesen werden (Dateigröße etwa 80MB, die Felder in der Tabelle sind alle ok und auch die einzulesenden Werte sind schon "vorbereitet"). Trennung ist das Semikolon.

Danke + Gruß

-etops-

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich weiss immer noch nicht - bzw. du hast noch immer nicht erwähnt - wo dein konkretes Problem liegt.

Du weisst wo die Datei ist

Du weisst wie sie Aussieht

Du hast php auf der Maschine

Davon Ausgehend das du php kannst (da du die Sache gern mit PHP erledigen möchtest) kann ich nicht erkennen wo es Probleme gibt.

Du benötigst nur einen Zugang zur Maschine, einen Texteditor und die Fähigkeit auf der Kommandozeile "php deinscrpt.php" einzutippen zum Testen. Öffnen von Dateien, Zugriff aufs MySQL etc. sollte genauso wie unter Windows gehen.

Datei öffnen, Zeilenweise auslesen, Datenfelder splitten, Query bauen, Query ausführen, rince and reapeat.

Link zu diesem Kommentar
Auf anderen Seiten teilen

So, also mein Quelltext sieht jetzt so aus, aber irgendwas passt noch nicht:


$path = 'home/info/export/';

$rs = system($path . 'mysql --host=localhost --password=
--user=root Web < ./info.info_history.dat');

if ($rs)
{
echo 'Import ok';
}
else
{
echo 'Es ist ein Fehler aufgetreten.';
}
[/PHP]

Ich denke, es fehlt die Zieltabelle?! Wenn ja, wo? Wär toll, wenn sich das nochmal jemand anschauen würde und Euch beiden vorab schon vielen Dank!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo etops,

ich hab mal was ähnliches gemacht, poste dir einfach meinen Codeauszug, vieleicht kannst du was damit anfangen.

Ich hatte eine csv Datei, die über Formular hochgeladen und dann in die DB eingelesen wurde.

Den Teil, in die DB zu schreiben kannst du übernehmen, dann musst du nur noch was schreiben, um die datei zu öffnen.

$zeilen=file($HTTP_POST_FILES['import']['tmp_name']);

if (is_array($zeilen))
{

foreach($zeilen as $string)
{
$spalten=explode(";",$string);
$warengruppe=$spalten[0];
$artikelcode=$spalten[1];
$bestand=$spalten[2];
$bezeichnung=$spalten[3];
$preis=str_replace(",",".",$spalten[4]);
echo $preis;

$sql=mysql_query("insert into artikel set
warengruppe='$warengruppe', artikelcode='$artikelcode',bestand='$bestand',
bezeichnung='$bezeichnung', preis='$preis'");
if (!$sql)
{
echo mysql_error($db);
$fehler++;
}




}
}

if (!$fehler)
echo "<font class=big>Datei erfolgreich importiert!</font>";

[/php]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...