Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Leerzeilen entfernen

  1. #1
    Registrierter Benutzer
    Registriert seit
    10.07.2004
    Beiträge
    55

    Leerzeilen entfernen

    Hallo,

    ich habe folgendes Problem:

    ich lese eine Datei mit

    Code:
    $datei=file($filename);
    ein. Wenn diese Datei aber Leerzeilen enthält, bekomme ich natürlich auch leere Elemente in dem Feld $datei, was ich aber nicht haben möchte.

    Gibt es ne elegante Möglichkeit, ein Befehl, oder ein anderes insFeldEinleseVerfahren, dass dieses bewerkstelligt.

    Das Feld in ein anderes Feld einlesen, aber nur die Elemente die einen Inhalt haben ist zwar ne Möglichkeit, aber umständlicher geht es wohl nicht mehr.

    Danke schon mal im Voraus

    P.S.: Dabei fällt mir ein, dass ein Kollege das Skript zu Testzwecken mal ausprobiert hat und nur Dateien einlesen kann, die im Ordner des Skriptes liegen, ansonsten bekommt er eine Fehlermeldung. Das ist mir absolut unverständlich, da es bei mir mit jeder Datei geht, egal, wo sie liegt.

    Fehlermeldung ist folgende, wenn sich die Datei nicht im Skriptordner befindet (test123 ist die einzulesende Datei,importFile.php die Datei, die diese einliest):

    *Warning*: file(test123) [function.file
    <http://localhost/ScSp/import/function.file>]: failed to open stream: No
    such file or directory in
    *C:\Programme\xampp\htdocs\ScSp\import\importFile. php* on line *7*

    Vielleicht könnt Ihr damit was anfangen, ich kann es leider nicht.

    Gruss Overlord
    Geändert von Overlord04 (01-09-2005 um 19:44 Uhr)

  2. #2
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von Overlord04
    *Warning*: file(test123) [function.file
    <http://localhost/ScSp/import/function.file>]: failed to open stream: No
    such file or directory in
    *C:\Programme\xampp\htdocs\ScSp\import\importFile. php* on line *7*

    Vielleicht könnt Ihr damit was anfangen, ich kann es leider nicht.

    Gruss Overlord
    Um deine leeren Zeilen zu löschen laß eine Schleife über das
    Array laufen, und schließe die leeren Zeilen aus.

    Die obige Fehlermeldung ist eigentlich eindeutig.
    Der Pfad zur deiner Datei ist nicht richtig.
    Abriss, bzw. die Sprengung des World Trade Centers
    WDR Dokumentation
    Doku + DT Untertitel
    Weitere Infos - Terrorstorm

  3. #3
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    array_map ist hier etwas Performanter
    PHP-Code:
    function cleanup$i )
    {
       if ( 
    $i != "" )
            return 
    $i;
        else
            return 
    false;

    $newArray array_uniquearray_map"cleanup"$Array ) ); 
    Geändert von undefined (02-09-2005 um 14:35 Uhr)
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  4. #4
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von undefined
    array_map ist hier etwas Performanter
    Stimmt.

    Ich wollte ihm das so einfach wie möglich vermitteln.
    (Er ist doch nicht so weit)
    Abriss, bzw. die Sprengung des World Trade Centers
    WDR Dokumentation
    Doku + DT Untertitel
    Weitere Infos - Terrorstorm

  5. #5
    Registrierter Benutzer
    Registriert seit
    10.07.2004
    Beiträge
    55
    @undefinded: Danke für den Code. Werde es mal so versuchen.

    Zu der Fehlermeldung: Ja, der Pfad ist anscheinend nicht richtig, aber wie kann das sein ??
    Bei meinem Kollegen stimmt der nicht, aber ich habe keine Probleme.

    Der Pfad wird ja automatisch gesetzt, da ich ja in meinem Formular einen FileDialog benutze.
    Code:
     <input name="dateipfad" type="file">
    Muss dann doch einfach stimmen!?!?

    @Romanday: Danke für Deine Rücksicht auf mein NochNichtSoWeitSein
    Geändert von Overlord04 (03-09-2005 um 17:06 Uhr)

  6. #6
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von Overlord04
    Der Pfad wird ja automatisch gesetzt, da ich ja in meinem Formular einen FileDialog benutze.
    Befindet sich die Datei, welche Du lesen möchtest schon auf deinem
    Server oder willst Du die Datei erst uploaden und dann lesen?
    Abriss, bzw. die Sprengung des World Trade Centers
    WDR Dokumentation
    Doku + DT Untertitel
    Weitere Infos - Terrorstorm

  7. #7
    Registrierter Benutzer
    Registriert seit
    10.07.2004
    Beiträge
    55
    Zitat Zitat von Romanday
    Befindet sich die Datei, welche Du lesen möchtest schon auf deinem
    Server oder willst Du die Datei erst uploaden und dann lesen?
    Nein, die befindet sich schon auf den Server. Ein Upload vorher findet nicht statt.

    Zu dem Cleanup-Code, der die Leerzeilen entfernt:

    So funktioniert der bei mir nicht. Habe immer noch die gleiche Anzahl von leeren Zeilen in meinem Feld als leere Elemente.
    Habe auch mit "\n" statt "" probiert etc. - funktioniert aber alles nicht, woran liegt das ?
    Geändert von Overlord04 (06-09-2005 um 14:44 Uhr)

  8. #8
    Registrierter Benutzer
    Registriert seit
    07.09.2005
    Ort
    Bremen
    Beiträge
    5
    Probleme mit dem includen
    mit diesem script nicht mehr sofern die Pfadliste richtig eingerichtet ist

    <?php
    Function pfad_liste(){
    // intern
    $data[]=("");
    $data[]=("Ordner1/");
    $data[]=("Ordner1/Ordner1/");
    $data[]=("Ordner1/Ordner2/");
    $data[]=("Ordner1/Ordner3/");
    $data[]=("Ordner1/Ordner4/");
    // extern // für ausserhalb gelagerte Dateien
    $data[]=("../Ordner7/Ordner8/");

    return ($data);
    }
    Function pfad($datei){
    $liste=pfad_liste();
    if((isset($datei))&(isset($liste))){
    for($i=0;$i<=(count($liste));$i++){
    if(file_exists($liste[$i].$datei)){
    $pfad=($liste[$i].$datei);
    } }
    if(isset($pfad)){
    return ($pfad);
    }
    else{
    echo("Die Datei '".$datei."' wurde nicht gefunden.");
    } }
    else{
    echo("Der Dateimame wurde nicht angegeben.");
    } }

    //Beispiel für include
    //include($pfad($dateiname));



    // So nun zum Problem:
    // funktioniert bei text und Html sowie php
    // andere Formate bitte selber testen.


    $datei=(file($pfad($dateiname)));
    for($i=0;$i<=(count($datei));$i++){
    if(strlen($datei[$i])>="1"){
    echo($datei[$i]);
    } }

    ?>

    Solte es wiedererwarten nicht gehen.
    vor dem zählen der Zeichen mit trim() die leerzeichen entfernen.
    Natürlich kann mann auch nur gefüllte Zeilen wieder in ein weiteres Array lesen.
    Viel Spass


    Ich Überneme keine Haftung für etweige scripte und mögliche Folgen.
    Geändert von Jabbawork (15-09-2005 um 14:37 Uhr)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •