php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.11.2005, 13:12  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard Text datei. Zeugs auslesen

Hallo herstmal.

Zuerst mal die Ausgangslage.
eine Textdatei mit folgendem Inhalt:
Code:
##################
#### Text Datei ##
##################
#
# Komentar
#
Option a "On"

#
# Komentar
#

Option b "Off"
so nun folgendes:
Ich hab mit PHP realisiert das man halt jeweils die Optionen ändern kann (mit zugriff auf die Datei, Datei öffnen suchen, ersetzen usw. usw.)

Jetzt aber zu meinem Problem, ich möchte das ganze jetzt ganz anderst gestallten und zwar so.
Ein script soll zuerst die Datei öffnen, dann Alle Optionen (müssen nicht "Option" heissen) suchen und dann halt in die DB eintragen.

Nur wie mache ich das?
Das eintragen in die DB ist mir klar.

Mir ist einfach nicht klar wie ich mache das er die Datei öffnet dann anfängt zu suchen, dann jede Option speichert und den momentanen Wert der Option speichert.

Diese Aufgabe habe ich mir selbst geställt es ist kein Aufrtag eines Kunden oder so es nimmt mich einfach nur wunder.

Ein Codeschnippsel wäre hier echt von Vorteil
__________________
Wie man Fragen richtig stellt
dsmcg ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 30.11.2005, 13:17  
Gast
 
Beiträge: n/a
Standard

Zitat:
Ich hab mit PHP realisiert das man halt jeweils die Optionen ändern kann (mit zugriff auf die Datei, Datei öffnen suchen, ersetzen usw. usw.)
Wie sieht der Code dafür aus?
 
Alt 30.11.2005, 13:32  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

zuerst wird die Linie gesucht:

PHP-Code:
<?php
$datei 
file('dateiname.asdad');

foreach (
$datei as $linie)
if (
substr($linie,0,strlen('Text3')) == 'Text3') {
echo 
$option;
break;
}
?>
danach wird der variablen $option einen wert gegeben:
PHP-Code:
<?php
$open 
fopen("dateiname.asdad","r+w"); # datei öffnen, lese & schreibzugriff
$read fread($openfilesize("datei.txt")); # inhalt auslesen
$write str_replace($linie,$eingabe$read); # suchen & ersetzen
fseek($open,0);
fwrite($open,$write); # in die datei den neuen inhal schreiben
fclose($open); #datei schließen 
?>
benutze nicht ganz dieses script, das Original ist zuhause.

ich weiss ich könnte dieses Script nehmen und einfach noch in die DB schreiben lassen, aber! ich gehe davon aus dass ich die Optionnamen nicht weiss, und daher nicht suchen kann..

in der DB muss dann in etwa so eingetragen werdenam schluss siehts so aus)

|Optionnamex|Optionvalue
| |
| |
| |
| |
__________________
Wie man Fragen richtig stellt
dsmcg ist offline  
Alt 30.11.2005, 13:40  
Gast
 
Beiträge: n/a
Standard

Der Aufbau ist fest
- kein # am Anfang der Zeile
- alles bis zum ersten Leerzeichen ist Name
- alles nach dem ersten Leerzeichen bis zum Zeilenende gehört zum Wert
oder
- kein # am Anfang der Zeile
- alles vor dem ersten Anführungzeichen (trimmed) gehört zum Namen
- alles ab dem ersten Anführungszeichen bis zum nächsten Anführungszeichen gehört zum Wert. Der Rest der Zeile wird ignoriert
?
 
Alt 30.11.2005, 13:47  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

- kein # am Anfang der Zeile
- alles bis zum ersten Leerzeichen ist Name
- alles nach dem ersten Leerzeichen bis zum Zeilenende gehört zum Wert

Dies würde zutreffen..
__________________
Wie man Fragen richtig stellt
dsmcg ist offline  
Alt 30.11.2005, 13:52  
Erfahrener Benutzer
 
Benutzerbild von Alpha Centauri
 
Registriert seit: 05.02.2005
Beiträge: 278
Alpha Centauri
Standard

Hast du schon mit regulären Ausdrücken gearbeitet.
Das währe hier ganz angebracht.
Diese suchen nur nach Mustern und können so den entspechenden Inhalt finden.

google:http://www.google.de/search?hl=de&q=...C3%BCcke&meta=
link:http://www.devmag.net/webprog/regulaere_ausdruecke.htm
Befehle wie:

- preg_match oder
- preg_replace

helfen auch weiter.
Alpha Centauri ist offline  
Alt 30.11.2005, 14:07  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php
$pattern 
'/^\s*(?!#)(\S+)\s+(.+)$/';

$contents file('options.txt');
foreach(
$contents as $line) {
    if (
preg_match($pattern$line$sp)) {
        
$name trim($sp[1]);
        
$value trim($sp[2]);
        echo 
$name' : '$value"
\n"
;
    }
}
?>
mit
Code:
##################
#### Text Datei ##
##################
#
# Komentar
#
OptionA "On"

#
# Komentar
#

OptionB "Off"
getestet.
 
Alt 30.11.2005, 14:10  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

hmm das funktioniert genau so wie ich es mir gedacht habe.
Danke =D

wusste gar nicht das man mit "," verknüpfen kann
PHP-Code:
<?php
 
echo $name' : '$value"
\n"

?>
hab das immer mit "." gemacht.
__________________
Wie man Fragen richtig stellt
dsmcg ist offline  
Alt 30.11.2005, 14:11  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hallo,

warum benutzt du keine Konfig-Files (INI)? Die könnten so aussehen:

config.ini
Code:
# SCHLAG MICH TOT
[Options]
a = On
b = Off
Code:
$ini = parse_ini_file("config.ini");
// $ini = array("Options" => array("a" => "On", "b" => "Off"));
Also warum eigene Config-Formate entwickeln, wenns dafür schon nen Standard gibt?
Zergling-new ist offline  
Alt 30.11.2005, 14:21  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

@Zergling hmm okey werde es mal testen, verstehe dein array konstruckt nicht ^o)

wie müsste ich den jetzt den echo gestallten damit im Browser (mit deinem Beispiel)

Code:
a = On
b= Off
angezeigt wird..

vergiss die Frage

var_dump von $ini gibt bei mir folgendes aus:
Code:
array(2) { ["a"]=>  string(0) "" ["b"]=>  string(0) "" }
das heisst der Array hat keinen Wert bekommen...
__________________
Wie man Fragen richtig stellt
dsmcg 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
CSS - Bild im div container überlappt andere container Buschdieb HTML, Usability und Barrierefreiheit 13 19.07.2007 23:17
Log Datei auslesen Computer PHP Tipps 2006 7 05.09.2006 16:15
Daten aus einer txt Datei auslesen lassen Zangelo PHP Tipps 2006 4 29.05.2006 09:57
CSS - Design (clear - Problem) HTML, Usability und Barrierefreiheit 7 21.12.2005 14:55
Text datei geordnet auslesen!! lindner PHP Tipps 2007 7 18.11.2005 09:52
Text aus der DB verteilen PHP Tipps 2007 17 16.11.2005 12:04
[Erledigt] Link PHP Tipps 2005-2 10 20.07.2005 21:28
[Erledigt] durch Klick auf Text anderen Text einblenden HTML, Usability und Barrierefreiheit 3 03.07.2005 14:41
Bestimmte Werte aus cvs Datei auslesen PHP Tipps 2005-2 1 20.06.2005 13:11
Ordner Struktur auslesen bestimmte datei finden .... silverghost PHP Tipps 2005 3 24.05.2005 13:55
DIV´s wollen nicht wie ich das will :-) HTML, Usability und Barrierefreiheit 22 28.03.2005 18:36
emailadressen aus einer Datei auslesen PHP Tipps 2004-2 25 30.11.2004 14:47
Ext .txt Datei auslesen PHP Tipps 2004 2 14.08.2004 21:18
txt-Datei erstellen d-81 PHP Tipps 2004 12 11.08.2004 20:31
Datei auslesen Stümper PHP Tipps 2004 1 04.08.2004 14:49

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/php-tipps-2007/34327-text-datei-zeugs-auslesen.html, d81 datei öffnen, php textdatei mit leerzeichen auslesen, option laden textdatei php, php datei einlesen und text ersetzen, php text datei nur bestimmte linien lesen, php text auslesen und ersetzen, d81 datei, str_replace linie ersetzen, dateien auslesen php leerzeichen, php code auslesen suchen ersetzen, php dateien mit leerzeichen im namen öffnen, beim auslesen text phph leerzeichen, php wert in textdatei suchen, inhalt von txt-dateien auslesen und ersetzen, php open text file zeichen suchen zeile, .d81datei öffnen, php echo iniarray, config.txt auslesen mit php, php text ab dem ersten leerzeichen

Alle Zeitangaben in WEZ +1. Es ist jetzt 10:09 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.