SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 16.09.2005, 16:46:04
koerschgen2001 koerschgen2001 ist offline
Anfänger
 
Registriert seit: Apr 2004
Ort: Schwalmtal
Beiträge: 131
Daten einer Textdatei hinzufügen

Ich habe eine Textdatei in der Daten aus dem abgeschickten Kontaktformular gesichert werden(backup).
Um direkt das nächste vorweg zu nehmen, ich habe keine Datenbank zur Verfügung.

Muss jedesmal wenn ein Eintrag hinzugefügt wird, die ganze Textdatei mit fgets($datei, 100); in einer Schleife ausgelesen werden.
Dann den Eintrag hinzufügen und das ganze wieder schreiben.

Gibt es da keine andere Möglichkeit die Daten hinzuzufügen ohne das alles überschrieben wird.

Ich kann mir vorstellen dass das mit der Zeit ziehmlich lange dauert. Oder wie schnell sind da die Zugriffszeiten. Bei wie viel Zeichen wird es kritisch?

Geändert von koerschgen2001 (16.09.2005 um 16:46:36 Uhr)
Mit Zitat antworten
  #2  
Alt 16.09.2005, 17:29:06
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Daten einer Textdatei hinzufügen

du kannst die datei auch mit dem parameter a für append öffnen, dann wird das was du schreiben willst an die datei angehängt.
Mit Zitat antworten
  #3  
Alt 16.09.2005, 19:51:52
koerschgen2001 koerschgen2001 ist offline
Anfänger
 
Registriert seit: Apr 2004
Ort: Schwalmtal
Beiträge: 131
AW: Daten einer Textdatei hinzufügen

Stimmt. Danke.
Mit Zitat antworten
  #4  
Alt 16.09.2005, 19:54:05
volti volti ist offline
Junior Member
 
Registriert seit: Nov 2002
Ort: Freigericht-Somborn
Alter: 67
Beiträge: 199
AW: Daten einer Textdatei hinzufügen

Zitat:
Zitat von koerschgen2001
Ich habe eine Textdatei in der Daten aus dem abgeschickten Kontaktformular gesichert werden(backup).
Um direkt das nächste vorweg zu nehmen, ich habe keine Datenbank zur Verfügung.

Muss jedesmal wenn ein Eintrag hinzugefügt wird, die ganze Textdatei mit fgets($datei, 100); in einer Schleife ausgelesen werden.
Dann den Eintrag hinzufügen und das ganze wieder schreiben.

Gibt es da keine andere Möglichkeit die Daten hinzuzufügen ohne das alles überschrieben wird.

Ich kann mir vorstellen dass das mit der Zeit ziehmlich lange dauert. Oder wie schnell sind da die Zugriffszeiten. Bei wie viel Zeichen wird es kritisch?
--Ich kann mir vorstellen dass das mit der Zeit ziehmlich lange dauert.--

Was ist ziemlich lange?
Ich habe eine Textdatei mit z.Z. ca. 750 KB, die werden bei meinem Rechner weit unter 1 sec gelesen und auch wieder geschrieben.

Für 'ne ähnliche Anwendung habe ich eine DB. Rein gefühlsmäßig ist die nicht schneller. Allerdings habe ich nicht sehr viele Zugriffe, da im Intranet mit geschlossener Gruppe gearbeitet wird. Möglicherweise sieht's anders aus, wenn gleich hundert Leute zugreifen.

Äh, Sch...
Wie geht das mit dem zitieren richtig?
__________________
viele Grüße
KH

Geändert von volti (16.09.2005 um 19:55:16 Uhr)
Mit Zitat antworten
  #5  
Alt 17.09.2005, 12:56:01
koerschgen2001 koerschgen2001 ist offline
Anfänger
 
Registriert seit: Apr 2004
Ort: Schwalmtal
Beiträge: 131
AW: Daten einer Textdatei hinzufügen

Da ich aber nur jeweils einen Eintrag hinzufügen muss, reicht für mich
fopen($fn,"a"); vollkommen.
Wäre ja umständlich erst den ganzen Inhalt auszulesen, Eintrag hinzufügen und dann alles wieder schreiben.
Mit Zitat antworten
  #6  
Alt 17.09.2005, 18:45:55
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Daten einer Textdatei hinzufügen

Zitat:
Zitat von koerschgen2001
Ich habe eine Textdatei in der Daten aus dem abgeschickten Kontaktformular gesichert werden(backup).
Um direkt das nächste vorweg zu nehmen, ich habe keine Datenbank zur Verfügung.
Dann besorge Dir einen Account mit *SQL Zugriff.

Sonst hast Du einige Probleme, wenn das Script von mehr als einem User aufgerufen werden kann. Dann mußt Du beim Lesen und Schreiben die Datei so absichern, daß kein anderer "Task" in die Quere kommt. Damit der andere "Task" trotzdem noch schreiben darf, mußt Du folgenden Mechanismus vorsehen:
1. prüfen, ob die Datei schon in Bearbeitung ist. Falls ja, warten auf Freigabe.
2. mit flock() oder mit einem Semaphorefile die Datei sichern.
3. Lesen + Neueintrag + schreiben:
PHP-Code:
$dateiname './daten.txt';

# Sicherung abfragen
#    ggf. warten
# Sicherung setzen

$neuer_text $_POST['text'] . "\n";

# natürlich muß hier klar sein, daß die Datei gelesen und beschrieben werden darf!
file_put_contents($dateinamefile_get_contents($dateiname) . $neuer_text);

# Sicherung aufheben 
Diesen Aufriß mußt Du bei einem DBMS nicht veranstalten, da die Zugriffe dort seriell erfolgen.

Geändert von meikel (†) (17.09.2005 um 18:46:56 Uhr)
Mit Zitat antworten
  #7  
Alt 18.09.2005, 13:37:14
koerschgen2001 koerschgen2001 ist offline
Anfänger
 
Registriert seit: Apr 2004
Ort: Schwalmtal
Beiträge: 131
AW: Daten einer Textdatei hinzufügen

Zitat:
Zitat von meikel
1. prüfen, ob die Datei schon in Bearbeitung ist. Falls ja, warten auf Freigabe.
2. mit flock() oder mit einem Semaphorefile die Datei sichern.
3. Lesen + Neueintrag + schreiben:
1. wie püfe ich den ob die Datei schon in Bearbeiung ist?

2.
PHP-Code:
flock($fp,2);
   
fputs($fp,$inhalt);
   
flock($fp,3); 
3.
PHP-Code:
 while (!feof($fp))
      {
         
$inhalt .= fgets($fp100);
      }
$inhalt .= " $nachricht \n"
Mit Zitat antworten
  #8  
Alt 18.09.2005, 18:04:17
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Daten einer Textdatei hinzufügen

Im Handbuch ist ein Beispiel:
http://de2.php.net/flock

Hier ein weiteres:

PHP-Code:
define('SEM''/pfad/semaphorfile'); # muß les- und beschreibbar sein
define('MAX'20);

# Warteschleife

$i 0;
while (
is_readable(SEM))
{
  
sleep(1);
  if (
$i>MAX)
    die(
'Das dauert zu lange!');
#############
# EDIT
#############
  
$i++;
#############
}

# eigenes Semaphorfile erzeugen
if (! $fp = @fopen(SEM'w'))
{
  die(
'Mist! Darf kein Semaphorfile anlegen!');
}
fclose($fp);

# Tu was 

if (! @unlink(SEM))
 die(
'Huch? Darf Semaphorfile nicht löschen?');

# fertig 

Geändert von meikel (†) (19.09.2005 um 18:04:15 Uhr)
Mit Zitat antworten
  #9  
Alt 19.09.2005, 11:56:22
koerschgen2001 koerschgen2001 ist offline
Anfänger
 
Registriert seit: Apr 2004
Ort: Schwalmtal
Beiträge: 131
AW: Daten einer Textdatei hinzufügen

Muss es nicht heissen:

PHP-Code:
# Warteschleife

$i 0;
while (!
is_readable(SEM))
{
  
sleep(1);
  if (
$i>MAX)
    die(
'Das dauert zu lange!');
    
$i++;

?
Mit Zitat antworten
  #10  
Alt 19.09.2005, 12:51:49
koerschgen2001 koerschgen2001 ist offline
Anfänger
 
Registriert seit: Apr 2004
Ort: Schwalmtal
Beiträge: 131
AW: Daten einer Textdatei hinzufügen

Noch was.
Auf dem Server schreibt der mir in die Textdatei statt einen Zeilenumbruch nur so nen kasten(für nicht bekanntes Zeichen).
Ich habe im Quelltext \n stehen aber in der Textdatei erscheint kein Zeilenumbruch.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Daten aus Textdatei in Textarea übergeben Max_04 PHP Grundlagen 15 16.05.2005 15:00:38
Daten aus Textdatei auf einer HTML oder PHP Seite ausgeben Max_04 PHP Grundlagen 10 16.05.2005 12:53:35
Einzelne Daten aus Textdatei Auslesen azubinator PHP Grundlagen 153 17.12.2004 13:36:58
Daten in Textdatei schreiben & auslesen Stoevi PHP für Fortgeschrittene und Experten 6 12.06.2003 19:04:29
daten einlesen aus trennzeichen getrennter textdatei flobee PHP Grundlagen 8 19.07.2002 16:24:15


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:20:57 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt