php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.02.2006, 13:37  
Erfahrener Benutzer
 
Registriert seit: 23.12.2003
Beiträge: 124
HSFighter zeigte ein beschämendes Verhalten in der Vergangenheit
Standard Textdatei auslesen, aber ohne Komentare

Hallo Leute,

Ich habe eine .cfg Datei und möchte sie gerne Zeile für Zeile auslesen.
In dieser .cfg sind Kommentare verzeichnet "//"
Diese möchte ich aber gerne ignorieren. z.b.
Code:
// test.cfg

// Hier ist ein Komentar !!!
sv_airaccelerate 10 // Komentar 1
sv_friction 4       
sv_stepsize 18      // Komentar 2

// Noch ein Komentar !!!
name "hejo"         // Name
Das Ergebnis müsste dann so ausschauen:

$bezeichnung[1] = sv_airaccelerate
$bezeichnung[2] = sv_friction
$bezeichnung[3] = sv_stepsize
$bezeichnung[4] = name

$wert[1] = 10
$wert[2] = 4
$wert[3] = 18
$wert[4] = hejo

Die Werte werten in der .cfg sind mit "" oder ohne "" angegen.
Also muss ich erst mal jede Zeile auslesen,
und dann jede zeile in $bezeichnung, $wert und // Kommenar trennen.

Den Code zum Zeilen auslesen habe ich schon:
Code:
<?php
$datei = "test.cfg"; 

// Liest eine Datei komplett in ein Array (z.b. $lines) ein 
$lines = file($datei); 

// auslesen 
foreach($lines as $v) { 
   echo nl2br($v); 
}
?>
Ich suche schon dan ganzen Tag einer möglichkeit,
die Strings zu trennen.
Habe mir auch schon alle String Befehle angeschaut.
Aber es will nicht so ich will!
Kann mir da jemand weiter helfen?

MfG HSFighter
__________________
Wieso, weshalb, warum?
Wer nicht fragt bleibt dumm!
HSFighter ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 16.02.2006, 13:45  
Gast
 
Beiträge: n/a
Standard

Ändern sich die werte in deiner Datei? laso der CFG?
Warum willst du das auslesen, denke wenn der Sinn verstanden ist was du genau machen willst ist es leichert zu helfen.

Ich nutze seit gestern die Links die mir hier jemand gab [In dem zuge nochmal danke]
UNd damit kann sogar ich als anfänger sicher dir helfen.
Nur wenn es feste werte sind warum dann auslesen?
 
Alt 16.02.2006, 13:56  
Erfahrener Benutzer
 
Registriert seit: 23.12.2003
Beiträge: 124
HSFighter zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Hi PHpleramanfang,

Die werte $bezeichnung sind immer die gleichen.
der $wert ändert sich

z.b. kann die .cfg so ausschauen:

Code:
// test.cfg

// Hier ist ein Komentar !!!
sv_airaccelerate 10 // Komentar 1
sv_friction 4       
sv_stepsize 18      // Komentar 2

// Noch ein Komentar !!!
name "hejo"         // Name
oder so:

Code:
// test.cfg

// Noch ein Komentar !!!
name "tach auch"         // Name

// Hier ist ein Komentar !!!
sv_stepsize 1      // Komentar 2
sv_airaccelerate 234 // Komentar 1
sv_friction 77
Eigendlich geht es nur um das zerlegen eines String's.
Den rest habe ich gepostet damit man weiß um was es sich handelt.
Das Projekt selber ist ein Webinterface für diese .cfg Dateien.

MfG HSfighter
__________________
Wieso, weshalb, warum?
Wer nicht fragt bleibt dumm!
HSFighter ist offline  
Alt 16.02.2006, 14:05  
Gast
 
Beiträge: n/a
Standard

schau dir mal das an: http://de3.php.net/regex und den befehl auch noch um zu suchen zb fscanf.

Köntne ja so aussehen das du bestimmte teile ausliest habe da im internet auch ein beispiel gefunden:

PHP-Code:
<?php
$lines 
file('server.cfg');
foreach(
$lines as $line) {
    
preg_match('#"(.+?)"\W+"(.+?)"#'$line$match);
    list(, 
$key$val) = $match;
    
    switch(
$key) {
        case 
'hostname':
            
// ...
            
break;
            
        case 
'mp_timelimit':
            
// ...
            
break;
            
        default:
            break;
    }

?>
schau mal ob du damit weiter kommst dort siehst du im Beispiel wie du zb bestimmte werte suchen kannst und auslesen das ist sicher ausbauföhig
 
Alt 16.02.2006, 14:08  
Gast
 
Beiträge: n/a
Standard

Hallo Du...

Probiere doch mal das:

$fp=fopen("./test.cfg","r");
$i=0;
while (!feof($fp)) {
$text[$i] = fgets($fp, 4096);
$text[$i] = substr($text[$i],0,strpos($text[$i],"//"))
$i++;
}
fclose($fp);

Die Zeilen müßten dann ohne Kommentar in $text[1..n] stehen.

Ist das so ok.?
Gruß, Andi.
 
Alt 16.02.2006, 14:58  
Gast
 
Beiträge: n/a
Standard

...oder probiere mal das:

PHP-Code:
$fp=fopen("./test.cfg","r"); 
$i=0
while (!
feof($fp)) { 
    
//Zeile einlesen
    
$text[$i] = fgets($fp4096);
    
//Falls keine Lehrzeile, dann...
    
if ($text[$i]>""){
        
//Falls es was zum trennen gibt, dann...
        
if (stristr($text[$i],'='){
            
//Komentare weg...
            
$text[$i] = substr($text[$i],0,strpos($text[$i],"//"));
            
//Trennen...
            
$array_tmp explode('='$text[$i]);
            
//Aufteilen und überflüssige Zeichen weg...
            
$bezeichnung[$i] = ltrim ($array_tmp[$0]);
            
$bezeichnung[$i] = chop  ($array_tmp[$0]);
            
$wert[$i] = ltrim ($array_tmp[$1]);
            
$wert[$i] = chop  ($array_tmp[$1]);
            
//Index eins hochzählen...
            
$i++;
        }
    }

fclose($fp); 
Gruß, Andi.
 
Alt 16.02.2006, 15:04  
XLB
Erfahrener Benutzer
 
Registriert seit: 31.07.2005
Beiträge: 1.126
PHP-Kenntnisse:
Fortgeschritten
XLB
Standard

Bist du aus "irgendwelchen" Gründen an das Format deiner test.cfg gebunden ? Ansonsten könntest du dir mal parse_ini_file() ansehen ...
XLB ist offline  
Alt 16.02.2006, 15:07  
Gast
 
Beiträge: n/a
Standard

Kann leider kein englisch.
Nur französisch... bis aufs sprechen.
 
Alt 16.02.2006, 15:15  
XLB
Erfahrener Benutzer
 
Registriert seit: 31.07.2005
Beiträge: 1.126
PHP-Kenntnisse:
Fortgeschritten
XLB
Standard

Google hätte da auch ein paar Seiten auf deutsch für dich :wink: :

http://selfphpfriend.de/funktionsref...e_ini_file.php

http://www.dynamicwebpages.de/php/fu...e-ini-file.php
XLB ist offline  
Alt 16.02.2006, 15:20  
Erfahrener Benutzer
 
Registriert seit: 23.12.2003
Beiträge: 124
HSFighter zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Danke für die Schnelle Hilfe

@XLB: Ja, leider bin ich an dieses Format gebunden.

Als erstes habe ich es mal mit der Swithabfrage von "PHpleramanfang" getestet.
Nur irgentwie bekomme ich da kein Ergebnis raus!

PHP-Code:
<?php

$lines 
file('test.cfg'); 
foreach(
$lines as $line) { 
preg_match('#"(.+?)"\W+"(.+?)"#'$line$match); 
list(, 
$key$val) = $match

switch(
$key) { 
case 
'sv_airaccelerate'
echo 
"+hallo+";
// ... 
break;

case 
'sv_friction'
echo 
"#hallo#";
// ... 
break;

case 
'sv_stepsize'
echo 
"XhalloX";
// ... 
break;

case 
'name'
echo 
"-hallo-";
// ... 
break; 

default: 
break; 
}

?>
Was mache ich falsch?


MfG auch Andi
__________________
Wieso, weshalb, warum?
Wer nicht fragt bleibt dumm!
HSFighter ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
kann textdatei nicht auslesen Eardy PHP Tipps 2008 1 28.02.2008 16:23
bestimmte Textblöcke aus einer Textdatei auslesen Canni PHP Tipps 2007 7 10.08.2007 17:12
gelöst: Tabelle auslesen -&amp;amp;amp;gt; Gleiche Einträge nur 1 Mal Datenbanken 3 31.03.2006 01:44
Abbruch beim Auslesen einer Textdatei workaholic PHP Tipps 2005-2 4 24.10.2005 18:55
Textdatei auslesen und auf mehrere Seiten verteilen? nicobischof PHP Tipps 2005-2 4 02.10.2005 11:24
Daten eintragen und auslesen Rettungsdackel Datenbanken 0 14.09.2005 16:29
Textdatei mit unregelm. Werten in versch. Größen auslesen? PHP Tipps 2005 6 14.01.2005 09:38
Textdatei auslesen, Inhalt in HTML|PHP ausgeben. PHP Tipps 2004-2 25 22.12.2004 01:34
Werte in Textdatei speichern und auslesen PHP Tipps 2004-2 12 21.12.2004 09:22
Textdatei hochladen und per PHP auslesen PHP Tipps 2004-2 2 16.12.2004 12:53
Zeilenweise eine Textdatei auslesen PHP Tipps 2004 12 29.10.2004 10:29
[Erledigt] Werte aus Textdatei auslesen PHP Tipps 2004 22 19.10.2004 15:00
Textdatei auslesen me PHP Tipps 2004 19 26.08.2004 12:59
Laufschrift (auslesen über Textdatei) PHP Tipps 2004 6 22.08.2004 19:58
Textdatei auslesen und Dateien downloaden PHP Tipps 2004 1 15.08.2004 13:05

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
textdatei auslesen und den inhalt mit * trennn, php txt suchen und werte auslesen, lesen textdatei ohne, php cfg datei, cfg datei auslesen, php textdatei lesen trenner ;, php datei auslesen und trennen, textdatei php auslesen trennen, php cfg datei auslesen

Alle Zeitangaben in WEZ +1. Es ist jetzt 15:06 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.