enrico: txt-Datei über PHP einlesen und in Javascript-Array ablegen

Beitrag lesen

Hallo,

jetzt funktioniert mein Vorhaben, eine DVD-Verwaltung für eigene Zwecke über PHP
aufzubauen, nicht mehr, ich bin an eine Grenze gestossen, die den Programmieraufwand
in's Unermessliche steigern lassen würde.

Die einzige Lösung, die ich jetzt, auch aus Gründen der Performance, habe, ist, die
Verwaltung auf Javascript aufzubauen.

Ich habe gestern ja zahlreiche Hilfestellungen bekommen, wie ich eine txt-Datei über
PHP in ein mehrdimensionales Array einlese (hierfür nochmals vielen Dank an ChrisB
und Peter), nun stehe ich aber vor dem Problem, diese Handhabung auf Javascript
umzumünzen.

Dies ist bislang mein Code:

<?php

$Dateizeiger = fopen ("BIBLIOTHEKEN/DVD-SAMMLUNG.txt", "r");

if ($Dateizeiger)
      {
         $Zaehler = 0;

echo '<script type="text/javascript">\r';
         echo '<!--\r';
         echo 'var Film = new Array();';

while (!feof ($Dateizeiger))
         {
            $Zeile  = fgets ($Dateizeiger);
            $Spalte = explode("|", $Zeile);

echo 'Film[' . $Zaehler . ']           = new Object();\r';
            echo 'Film[' . $Zaehler . ']["Nr"]     = "' . $Spalte[0] . '";\r';
            echo 'Film[' . $Zaehler . ']["Titel"]  = "' . $Spalte[1] . '";\r';
            echo 'Film[' . $Zaehler . ']["Inhalt"] = "' . $Spalte[2] . '";\r';
            echo 'Film[' . $Zaehler . ']["Genre"]  = "' . $Spalte[3] . '";\r';
            echo 'Film[' . $Zaehler . ']["FSK"]    = "' . $Spalte[4] . '";\r';

$Zaehler = $Zaehler + 1;
         }

echo '//-->\r';
         echo '</script>\r';
      }

fclose ($Dateizeiger);

?>

Mein Problem ist zunächst, dass ich, egal ob ich "\n" oder "\r" verwende, keine
Zeilenumbrüche im eigentlichen Sinne hinbekomme, sondern dass mir diese beiden
Zeichenfolgen angezeigt werden.

Dieses Problem ist aber eigentlich nur optischer Natur, ich könnte, sofern die
Zeilenumbrüche auch als solche angezeigt bzw. ausgeführt werden würden, das
Array wesentlich besser auf seine Korrektheit hin überprüfen, da ich dann für
jede Definition eine eigene Zeile hätte.

Wichtiger ist aber, ob ich mit obigem Code auch _wirklich_ ein Javascript-Array
aufbaue.

Bekomme ich auf obige Weise ein Javascript-Array hin ?

Die Anzeige des Quelltextes, mit manuell ergänzten Zeilenumbrüchen *grml*, ließe
zumindest darauf schliessen:

var Film = new Array();

Film[0]           = new Object();
   Film[0]["Nr"]     = "1";
   Film[0]["Titel"]  = "LIGHTHOUSE - INSEL DES GRAUENS";
   Film[0]["Inhalt"] = "Mitten auf dem Ozean und während der Überführung in ...";
   Film[0]["Genre"]  = "Horror/Thriller";
   Film[0]["FSK"]    = "16";

Film[1]           = new Object();
   Film[1]["Nr"]     = ...
   ...

Wenn es so funktionieren sollte, dann sehe ich aber früher oder später Probleme auf
mich zukommen, wenn die Filme in die Hunderte gehen, was auch früher oder später der
Fall sein wird, da ich bislang nur einen Bruchteil meiner Sammlung erfasst habe.

Und wie bekomme ich tatsächliche Zeilenumbrüche im Quelltext hin?

Vielen Dank für Eure Mithilfe.

Viele Grüße,
Enrico