WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- bestimmte Daten aus einer Datei auslesen

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » bestimmte Daten aus einer Datei auslesen - 23 Nov 2024 Antworten
im Forum für Webhosting Homepage gefunden:
bestimmte Daten aus einer Datei auslesen
Neo007
Pixelschubser
Threadstarter




Beiträge: 7

Also, ich hab ne Datei, in der kommen Namen wie folgt vor:
[Neo007]

danach kommt irgend was anderes, was uninteressant ist, sobald ein bestimmtes Wort in einer Zeile vor kommt, z.B.
Strasse=Hauptstraße
Will ich den NAmen der Straße auslesen, diese angaben sind immer in einer Zeile, es handelt sich um eine Einstellungs file eines Programms, also für jeden Namen ( "[name]" ) will ich betsimmte werte auslesen können ("Straße=xyz" "geburtsdatum=xyz")

Die auszulesenden werte sind für jeden Namen gleich.


Wäre nett wenn ihr mir helfen könntet, am besten schnell.


Thx schon mal

  Profil   Website   Editieren   Zitieren
slackerbitch
Otto-Normal-Poster




Beiträge: 69

hm, wie genau sieht eine zeile aus?

zeilenweise einlesen
-> explode (keine ahnung, was du als moegliches trennzeichen hast)

das sollte am einfachsten sein.


---
sig

  Profil   Website   Editieren   Zitieren
Neo007
Pixelschubser
Threadstarter




Beiträge: 7

Aufbau

[Neo]
Name=andy
Nachname=weisnet
Telnummer=123456
Straße=asfdsds

[Neo1]
Nachname=asdfsd
Straße=asdgfdf


Die angaben sind immer gleich aufgebaut, nur sind nicht immer alle vorhanden, das was ich dann abfragen will hat allerding jeder name

  Profil   Website   Editieren   Zitieren
Paraplex
Pixelschubser




Beiträge: 20

Beispiel, wie du alle Nachnamen und die zugehörigen [Namen] aus der Datei auslesen kannst. $name[Zahl >=1] liefert den Namen, $nachname[gleiche Zahl >=1] den zugehörigen Nachnamen. Mußt du natürlich entsprechend deinen Bedürfnissen umschreiben.

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29:
//Einlesen der Datei
$newfile = fopen(dateiname,"r");
$content = fread($newfile, filesize(dateiname));
fclose($newfile);

//Achtung! Funktioniert nur vernünftig, wenn [Name] jeweils der 
//einzige Eintrag ist, bei dem eckige Klammern verwendet werden.

//Einfügen von Trennzeichen (#)
$content=preg_replace("/#/","Nr.",$content);
$content=preg_replace("/[/","#[",$content);

//Datei wird am Trennzeichen (#) zerlegt und die Einträge werden in ein
//Array geschrieben ($user)
$user=explode("#",$content);
$name=array();
$nachname=array();

//Schrittweises Auslesen des "user-Arrays". Die Namen und Nachnamen  
//werden in den Arrays $name und $nachname abgelegt.
foreach($user as $key => $value){
  preg_match("/[.*]n/",$value,$nick);
  $name[$key]=$nick[0];
  preg_match("/Nachname=.*n/",$value,$name1);
  $name1=preg_replace("/Nachname=/","",$name1[0]);
  $nachname[$key]=$name1;
}


Hoffe, das war so in etwa das, was du willst. Falls nicht, erkläre nochmal genauer, wie die Werte ausgegeben werden sollen bzw. wofür du sie brauchst.

Gruß

  Profil   Editieren   Zitieren
Neo007
Pixelschubser
Threadstarter




Beiträge: 7

ob es das ist was ich will???? gute Frage, aber ich werds mal testen.

hiernochmal die genaue verwendung:

Das script soll eine ini file eines FTP Servers auslesen (der auf meinem rechner läuft) und dort für jeden User die download und upload daten auslesen, am ende soll das in Form von stats ausgegeben werden, also wieviel MB jeder user geuppt und gesaugt hat.

auszug aus dem file:[tommy]
Login=tommy
Pass=xyz
Home-Ip=-= All IP Homes =-
TimeOut=600
MaxConPerIp=1
MaxUsers=0
RatioEnabled=1
RatioMethod=0
RatioUp=1
RatioDown=3
RatioCredit=100000000000
MaxSpeedRcv=512
MaxSpeedSnd=512
QuotaCurrent=0
QuotaMax=0
Dir0=C:ftp
Attr0=R----LS-
Dir1=C:ftpuploadTommy
Attr1=RW-AMLS-
Stat_Login=9
Stat_LastLogin=06.11.2002 01:01:32
Stat_LastIP=192.168.2.110
Stat_KBUp=250602756
Stat_KBDown=28359813
Stat_FilesUp=2
Stat_FilesDown=6
Stat_FailedUp=0
Stat_FailedDown=1

[Neo007]
Login=Neo007
Pass=xyz
Home-Ip=-= All IP Homes =-
RelativePath=1
TimeOut=600
MaxConPerIp=1
MaxUsers=0
RatioMethod=0
RatioUp=1
RatioDown=1
RatioCredit=0
MaxSpeedRcv=512
MaxSpeedSnd=512
QuotaCurrent=0
QuotaMax=0
Dir0=C:ftp
Attr0=RWDAMLSK
Stat_Login=7
Stat_LastLogin=05.11.2002 12:45:25
Stat_LastIP=192.168.2.120
Stat_KBUp=367431399
Stat_KBDown=923739912
Stat_FilesUp=54
Stat_FilesDown=3
Stat_FailedUp=0
Stat_FailedDown=0


die angaben Stat_KBUp und Stat_KBDown sind hierbei die, die es zum auslesen gilt.






  Profil   Website   Editieren   Zitieren
Paraplex
Pixelschubser




Beiträge: 20

Da lag ich ja gar nicht soweit daneben. Wenn die Datei wirklich genau so aussieht, wie du gepostet hast, kannst du z.B. folgendes verwenden:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34:
//Einlesen der Datei
$newfile = fopen(dateiname,"r");
$content = fread($newfile, filesize(dateiname));
fclose($newfile);


//Datei wird am Trennzeichen ( [ ) zerlegt und die Einträge werden in ein
//Array geschrieben ($user)
$user=explode("[",$content);

//Damit du siehst wie es funktioniert, gebe ich alle Daten nachher als
//Beispiel in Tabellenzellen aus.
echo"";

//Schrittweises Auslesen des "user-Arrays". Die Namen, Upload und  
//Download werden in den Arrays $name, $upload und $download abgelegt.
foreach($user as $key => $value){
  preg_match("/.*]n/",$value,$nick);
  $nick[0]=preg_replace("/]/","",$nick[0]);
  $name[$key]=$nick[0];
  preg_match("/Stat_KBDown=.*n/",$value,$name1);
  $name1[0]=preg_replace("/Stat_KBDown=/","",$name1[0]);
  $download[$key]=$name1[0];
  preg_match("/Stat_KBUp=.*n/",$value,$name1);
  $name1[0]=preg_replace("/Stat_KBUp=/","",$name1[0]);
  $upload[$key]=$name1[0];

  //Daten in Tabellenzellen schreiben
  if ($key>=1)
  echo"";
}
echo"
$name[$key]$download[$key]$upload[$key]
";


Hoffe, ich hab da jetzt auf die Schnelle keinen groben Fehler reingebaut.

Gruß

  Profil   Editieren   Zitieren
Neo007
Pixelschubser
Threadstarter




Beiträge: 7

THX

Sag mal wie lange beschäftigst du dich schon mit php, ich meine ich mach auch hin und wieder was, aber bis ichs so drauf hab wie du bin ich 80 und kann net mehr mal ein Notebook bedienen.

Thx nochmal

funtzt wie ne eins


PS: wie müsste ich das ganze erweitern wenn ich nur bestimmte namen abfragen will, also in der ausgabedatei dann einfach deine Datei auf rufe, und beim Aufruf ne Variable mit dem abzufragenden Namen mitschicke????

  Profil   Website   Editieren   Zitieren
Paraplex
Pixelschubser




Beiträge: 20

Hier die veränderten Abschnitte:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25:
//Variable, die du "mitschickst", mußt du dann hier natürlich löschen.
//Erhält als Wert den Usernamen ohne eckige Klammern.
//z.B. tommy oder Neo007
$uname="Neo007";
$user=explode("[",$content);
echo"";
foreach($user as $value){
//Es werden nur Datensätze zur weiteren Verarbeitung zugelassen, die
//deinem "erweiterten Suchkriterium" genügen
  if (preg_match("/$uname]/",$value)){
//Was hier vorher stand ist jetzt überflüssig, da du den Usernamen
//bereits mitlieferst
    preg_match("/Stat_KBDown=.*n/",$value,$name1);
    $name1[0]=preg_replace("/Stat_KBDown=/","",$name1[0]);
//Jetzt sind natürlich keine Arrays mehr nötig, da nur ein Datensatz
    $download=$name1[0];
    preg_match("/Stat_KBUp=.*n/",$value,$name1);
    $name1[0]=preg_replace("/Stat_KBUp=/","",$name1[0]);
    $upload=$name1[0];
    echo"";
  }
}
echo"
$uname$download$upload
";


Das wars eigentlich schon.

Zum Verständnis solltest du dir mal den Artikel zu Regular Expressions des PHP-Manuals durchlesen (hoffe du bist einigermaßen fit im Englischen):
http://php3.de/manual/de/ref.pcre.php

oder für den Anfang verständlicher (und auf deutsch):
http://develnet.org/tech/dclp/regexp.html

Damit bist du dann denke ich in der Lage, die einzelnen Schritte nachzuvollziehen und noch eventuell notwendige Änderungen selbst vorzunehmen.

  Profil   Editieren   Zitieren
Neo007
Pixelschubser
Threadstarter




Beiträge: 7

Danke nachvollziehen kann ich das auch ohne Die texte einigermaßen, werd sie mir aber auch nochmal anschauen,

Thx nochmal, ist echt nett von dir.

  Profil   Website   Editieren   Zitieren
Neo007
Pixelschubser
Threadstarter




Beiträge: 7

Danke nachvollziehen kann ich das auch ohne Die texte einigermaßen, werd sie mir aber auch nochmal anschauen,

Thx nochmal, ist echt nett von dir.

  Profil   Website   Editieren   Zitieren
 

Antworten
Forum » PHP & MySQL » bestimmte Daten aus einer Datei auslesen

Aktuelle Beiträge zur Hilfe im Forum für Homepage - bestimmte Daten aus einer Datei auslesen im Forum Homepage Hosting AntwortenLetztes Posting
Cybersicherheit für Unternehmen
in "PHP & MySQL"
3 18.11.2024 14:05 von Gaswer
Wirtschaftslage in der Ukraine
in "PHP & MySQL"
3 22.10.2024 15:04 von Gaswer
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji



Besucher : 8127829    Heute : 223     Gestern : 761     Online : 233     23.11.2024    9:26      0 Besucher in den letzten 60 Sekunden        
Nach oben