Basti: Datei zeilenweise in Array lesen

Hallo. Ich möchte eine Datei zeilenweise in ein Array lesen. Das Problem dabei ist vermutlich, daß die Datei vom Mac kommt.
Folgendes funktioniert nicht:

$zeilen = file( "Datenbank.txt" );
foreach ( $zeilen as $zeile )
{
  $pieces = explode( "\t", $zeile );
  $sql = "blabla";
}

Das Array $zeilen enthält nur eine Zeile. Wie kann ich mein Script umschreiben, daß es die Zeilenenden erkennt? Ich muß ja nicht mit file() arbeiten...
auto_detect_line_endings kann ich in der php.ini übrigens nicht einstellen. Darauf habe ich keinen Zugriff.

Gruß, Basti

  1. hi,

    auto_detect_line_endings kann ich in der php.ini übrigens nicht einstellen. Darauf habe ich keinen Zugriff.

    diese option ist laut http://de.php.net/filesystem
    "änderbar: PHP_INI_ALL"

    gruss,
    wahsaga

    1. diese option ist laut http://de.php.net/filesystem
      "änderbar: PHP_INI_ALL"

      Danke, aber das hatte ich auch schon entdeckt. Das zeigt nur leider keine Wirkung.
      Ich habe es so versucht:
      ini_set('auto_detect_line_endings', true);
      Das ist doch korrekt, oder?

      Schön wäre es wenn ich ermittlen könnte, woher das File kommt und dann alles in Unix-Zeilenenden konvertieren kann.
      Man sagte mir, es wäre nicht sicher, wenn ich nach \r oder \r\n suche?
      Wie mache ich es besser?

      Danke

      1. Also ich hatte das auch mal, allerdings hatte ich das umgekehrte Problem. Auch ich habe eine mehrzeilige Textdatei in eine Variable eingelesen. Letztendlich kam ich zu folgendem Ergebnis:

        $zeilen = file( "Datenbank.txt" ); führt zu einem ARRAY!!!

        in der "Variablen" $zeilen sind schon alle Zeilen enthalten!!! Diese kann man mit $zeilen[0] bis count($zeilen) auslesen.

        Hoffentlich konnte ich dir weiterhelten!

        Gruß aus Tübingen.

        1. $zeilen = file( "Datenbank.txt" ); führt zu einem ARRAY!!!

          Ja, nur leider hat mein Array nur eine einzige Zeile, weil die Mac-Zeilenumbrüche nicht als richtige Zeilenumbrüche erkannt werden.

          Also muß ich entweder auf eine andere Methode den Text der Datei in mein Array lesen, so daß die Mac-Umbrüche erkannt werden oder ich muß die Umbrüche vorher konvertieren.
          Ich weiß aber nicht was besser ist und wie ich da anfangen soll.
          Danke für Vorschläge.