"csv"-string per php in datenbank einfügen

Hallo und guten Abend,
ich habe eine php-generierten Quellcode auf einer externen Seite, wovon ich gerne die einzelnen Strings in meine Datenbank einfügen würde.
Die einzelnen Strings liegen csv-formatiert vor, sprich ich hab mehrere Strings, die etwa so aussehen:

1´99:9:9/9/n 

Nun möchte ich die ‚1‘ in meine Spalte ID einfügen, das Zahlen-Zeichen-Gewirr in „koords“.

Mir liegt keine echte csv-Datei vor, bloß ein php-generierter Quelltext mit allen Daten.

Wie kann ich diese Daten mit php in meiner Datenbank speichern, ggf. alle alten Daten aus der Tabelle erst löschen?
Ist es möglich, die einzelnen Strings nacheinander mit einer while-Schleife auszulesen und einzeln mit mysql_query zu speichern?
Oder gibt es eine einfachere Methode, die Daten zu speichern?

Mit dem Auslesen von Daten/Strings mittels php bin ich absolut unwissend, wär also schön, nicht gleich mit Massen von Fachausdrücken um sich zu werfen :ps:
MfG the-xe

function write_line_to_mysql($line)
{
   $line = explode(";", $line);
   $sql = "INSERT INTO tabelle (`id`, `value1`, `value2`, `value3`) VALUES ('$line[0]', '$line[1]', '$line[2]', '$line[3]');"; //Anpassen
   mysql_query($sql);
}

$file = file("datei.csv");  //Anpassen
foreach($file as $line)
   write_line_to_mysql($line);

ist noch anzupassen :wink:

kann ich da als $file auch eine php-Datei angeben, mal so als Anschauungsbeispiel:

$file = file("ausgabe.php"); foreach($file as $line) write_line_to_mysql($line);

[quote=“the-xe”]kann ich da als $file auch eine php-Datei angeben, mal so als Anschauungsbeispiel:

$file = file("ausgabe.php"); foreach($file as $line) write_line_to_mysql($line);[/quote]

In dem Fall würde das Script lediglich den php code laden, nicht aber die von dir erhoffte Ausgabe.
Eine unschöne, aber mögliche “Umgehung” wäre zum Beispiel folgendes:

$file = array();

function mycallback($str){
	global $file;
	$str = str_replace("\r", "", $str);
	$file = explode("\n", $str);
}

ob_start("mycallback");
include("ausgabe.php");
ob_end_flush();

foreach($file as $line)
   write_line_to_mysql($line);

Wie gesagt, ist die Lösung unschön, aber sollte theoretisch funktionieren.

mfg Balmung

die von mir erwähnte php-datei liegt auf einem anderen server (anderer-server.de/ausgabe.php), das einzige was ich daher bekomm, ist mit einer html-datei zu vergleichen, die im csv-stil verfasst ist

[quote=“Balmung”]
Eine unschöne, aber mögliche “Umgehung” wäre zum Beispiel folgendes:

$file = array();

function mycallback($str){
	global $file;
	$str = str_replace("\r", "", $str);
	$file = explode("\n", $str);
}

ob_start("mycallback");
include("ausgabe.php");
ob_end_flush();

foreach($file as $line)
   write_line_to_mysql($line);

Wie gesagt, ist die Lösung unschön, aber sollte theoretisch funktionieren.

mfg Balmung[/quote]
Ich werds mal probieren … aber große hoffnung mach ich mir da nicht, wie gesagt ich hab keine ahnung, weiß also auch nicht wie ich da was verändern könnte …
dennoch danke für die hilfe
MfG the-xe

Wenn das Script hier auf bplaced liegt, wird das sowieso nicht funktionieren, da sämtlicher zugriff auf Externe Daten verweigert wird.

Sonst allerdings sollte es tatsächlich ausreichen wenn du es so machst:

$file = file(“http://www.example.com/ausgabe.php”);

mfg Balmung

ok danke, genau das wollt ich hören :smiley:
ich meld mich dann so ca. in ner halben stunde mit den fehlermeldungen :smiley:

/edit:
Zugriff auf externe dateien ist nicht möglich? :stress:
heißt das gesammte script läuft aus bplaced gar nicht? :neutral_face:

kann ich denn meine extern gelagerte datei hier auf die datenbank zugreifen lassen?
habs grad einfach mit mysql_connect und als host die serverip versucht, da bekomm ich keine verbindung …
ist es möglich von außerhalb in meine datenbank zu schreiben?
MfG the-xe

Ist nicht möglich.

ach das is doch alles käse !coffee
heißt im klartext, ich kann die daten hier definitiv nicht ans laufen bekommen … schade

doch: die CSV per PHP auf den Webspace laden, oder die CVS mittels POST an dein Script übertragen… das ginge beides (also nur aktives Senden)

und nochmal:
es ist keine csv-datei, es ist eine php-datei, die von einem externen server generiert wird, es gleicht bloß einer csv-datei im aufbau
ich komm an diese datei nicht heran, ich kann sie bloß ausführen (lassen) und den automatisch generierten code dann per php in meine datenbank einlesen
und ich schätze mal, das dort ein einfaches echo innerhalb einer schleife für die ausgabe sorgt …
im endeffekt kann ich zum einlesen nichts anbieten als ein extern gelagerten string, der einer csv-datei ähnelt, und weil das ganze jede nacht automatisch per cronjob ausgeführt werden soll
fakt ist allerdings, ich kann die datei hier bei bplaced nicht anfordern, ich kann auch das update-script nicht von außerhalb hier auf die datenbank zugreifen lassen, somit besteht keinerlei möglichkeit, mein gewünschtes script mit update hier bei bplaced ans laufen zu bekommen …
schade, sehr schade
MfG the-xe

das weiß ich auch…ich hab dir nur möglichkeiten genannt, wie es evtl. möglich wäre, wenn du iwo anders zB ein Programm hostest, das die Daten an dein Script überträgt…

da kann ich besser das ganze script verlagern !coffee
ich hoffe ich hab jetzt nen platz dafür gefunden, ansonsten muss ich mir noch nen konzept überlegen …