Sicherheitssoftware CTXtra
Hallo 10 Februar 2012, 02:10:45 *
Willkommen Gast. Bitte einloggen oder registrieren.

Einloggen mit Benutzername, Passwort und SitzungslängeSorry, Du musst für die Shout Box eingeloggt sein!
News: We search translators for other languages.
 
  Übersicht Hilfe Suche Einloggen Registrieren  
Seiten: [1]   Nach unten
  Drucken  
Autor Thema: Datei einlesen unter PHP  (Gelesen 3128 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
delta
Gast
« am: 30 Juli 2008, 15:41:58 »

Was ist empfehlenswerter, wenn ich eine auf meinem Server gespeicherte Textdatei lesen und auswerten will ...
- die Kombination aus fopen() und fread()
oder
- file()
oder
- readfile()
Gespeichert
delta
Gast
« Antworten #1 am: 02 August 2008, 16:57:07 »

Keine Antwort?
Gespeichert
schlumpfi
Moderator
Hero Member
*****
Offline Offline

Beiträge: 1.309



« Antworten #2 am: 02 August 2008, 17:28:03 »

readfile() ... wenn du nur einlesen willst, aber nicht speichern/ändern
file() ... wenn du read save willst

fopen() ... funzt nur wenn fopen auf server aktiviert..  diese func .. read/save
fread() ... funzt nur wenn fopen auf server aktiviert.. diese func ... read


meine tendenz... file / readfile da kompatibilität mit aktivieren zu fopen durch php.ini umgangen wird
hoffe ich hab geholfen...
pls korrigieren wenns nicht so ist...
Gespeichert

Man muß nicht alles wissen, man muß nur wissen, wo es steht!
delta
Gast
« Antworten #3 am: 02 August 2008, 18:18:50 »

OK - das war informativ.
Noch eine Frage dazu:
kann/muß ich mit readfile() und writefile() auch einen LOCK setzen oder machen diese Funktionen das automatisch?

Unter Perl verwende ich vor jedem Zugriff auf eine Datei, ein Dummy-File und setze einen LOCK auf eben diese Datei.
Wirkt also wie ein 'Semaphore' ist nur nicht so umständlich zu handhaben wie ein 'Semaphore'.
Gespeichert
Nordin
Administrator
Hero Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1.125



E-Mail
« Antworten #4 am: 04 August 2008, 03:42:24 »

wenig zeit...

/* mit file() */
$inhalte_ary file('link/datei.txt'); // Datei wird zeilenweise in ein array gelesen... (zu empfehlen)

/* danach kann man zeile für zeile mit foreach() auswerten */
foareach($inhalte_ary as $key => $value) {
  echo 
'Zeile '.$key.': '.$value.'<br />';   // wobei $key der array-key ist und $value der inhalt des jewailigen array
}


/* mit file_get_contents() */
$inhalte_srg file_get_contents('link/datei.txt'); // Datei wird in einen string gelesen... alles hintereinander weg..
Gespeichert

Bei Problemen bitte IMMER CTXtra Version und PHP-Version mit angeben!!!
Welche PHP Version bei euch läuft seht ihr unter http://deine-seite.tld/ctracker/admin/phpinfo.php
delta
Gast
« Antworten #5 am: 05 August 2008, 17:02:27 »

Damit bleibt aber immer noch meine Frage nach dem LOCK offen.
Gespeichert
Nordin
Administrator
Hero Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1.125



E-Mail
« Antworten #6 am: 05 August 2008, 22:33:39 »

gute frage... aber das ein user grade diesen bruchteil der sekunde bei auslesen erwischt wenn die datei geschrieben wird ist ja wie nen 6er im lotto mit zusatzzahl Zwinkernd

andernfalls nimm fopen() in verbindung mit flock() ...
Gespeichert

Bei Problemen bitte IMMER CTXtra Version und PHP-Version mit angeben!!!
Welche PHP Version bei euch läuft seht ihr unter http://deine-seite.tld/ctracker/admin/phpinfo.php
delta
Gast
« Antworten #7 am: 05 August 2008, 23:16:06 »

gute frage... aber das ein user grade diesen bruchteil der sekunde bei auslesen erwischt wenn die datei geschrieben wird ist ja wie nen 6er im lotto mit zusatzzahl Zwinkernd
Wenn Du Dich da mal nicht täuschst ...
bei wirklich gut besuchten Seiten kann das was Du als 6er im Lotto bezeichnest, jederzeit auftreten.

Daneben habe ich in den letzten Wochen erleben müssen, dass Angriffe gegen meine Domain gestartet wurden bei denen der Angreifer (gleichzeitig) bis zu 1.500 Verbindungen offen gehalten hat; das wären dann (nach Deiner Betrachtungsweise) 1.500 6er im Lotto.

Also richtig lustig wird es unter Programm-Bedingungen die 'Race Conditions' unberücksichtigt lassen, sicher nicht.
Gespeichert
delta
Gast
« Antworten #8 am: 10 August 2008, 18:49:30 »

OK - es hat funktioniert ...
auch unter PHP ist es möglich ein sicheres File-Locking-System zu etablieren.
Für eventuelle Rückfragen stehe ich jederzeit gern zur Verfügung.
Gespeichert
AggroGamer
Newbie
*
Offline Offline

Beiträge: 10


« Antworten #9 am: 05 Oktober 2008, 20:13:56 »

hi,

könnteste mir ma erläutern wie?

vermutung
kopie der datei nach "auserhalb web" dann ändern also schreiben
nun die alte löschen und die neue dann einfügen.

hab mich mit dateien nie wirklich befast aber
hab im tool eine drin und will die mal verbessern/abschalten
Gespeichert
Seiten: [1]   Nach oben
  Drucken  
 
Gehe zu:  

TinyPortal v.1.0.6 beta 2 © Bloc
Powered by MySQL Powered by PHP Powered by SMF 1.1.7 | SMF © 2006, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS
Seite erstellt in 0.076 Sekunden mit 27 Zugriffen.