php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.08.2009, 21:14  
Erfahrener Benutzer
 
Benutzerbild von Lumio
 
Registriert seit: 12.10.2007
Beiträge: 149
PHP-Kenntnisse:
Fortgeschritten
Lumio ist zur Zeit noch ein unbeschriebenes Blatt
Standard [Erledigt] Filepointer auf eine andere Position setzen

Hi,
ich versuche gerade via __halt_compiler(); ein kleines Script zu basteln, das Daten direkt in der Datei speichert. Das klappt auch, allerdings versuche ich, Daten nicht nur ans Ende anzuhängen, sondern auch mittendrin zu schreiben. Das klappt allerdings nicht ganz.
So sieht zur Zeit mein Ansatz aus:
PHP-Code:
        public function add($str)
        {
            
$fp fopen(__FILE__'a');
            
fseek($fp__COMPILER_HALT_OFFSET__);
            
fwrite($fp$str);
            
fclose($fp);
            return 
true;
        } 
Ich versuche hiermit, nicht ans Ende der Datei zu schreiben, sondern ans Ende des Scriptes zu schreiben. Ich möchte dadurch rausfinden, ob mir die Daten dahinter überschrieben werden (was ich eigentlich annehmen würd), oder ob mir da extra Platz geschafft werden würde (glaub ich weniger).

Wenn ich den normalen Schreibmodus verwende, dann überschreibt der mir das ganze Script mit Leerzeichen und nach der angegebenen Position ist dann der Wert, den ich speichern wollte.

Ich möchte allerdings nicht erst alles einlesen müssen, und dann das gesamte neu speichern, das wär mir bei grossen dateien zu aufwendig.

//edit: ok, mit a-mode wird das nicht klappen. Hab grad nochmal genauer die Doku gelesen
//edit2: hm, das ist total komisch (das hier ist der gesamte Inhalt aus der Datei tmp.php):
PHP-Code:
$fp fopen('tmp.txt''w+');
    
fseek($fp2);
    
fwrite($fp'foo');
    
//fwrite($fp, 'this is a little test');
    
fclose($fp); 
Wenn ich erst this is a little test schreibe, und dann eben diesen abschnitt, ausführe schreibt er mir zwei Null-Bytes und dann das Wort foo.
Also dürften die genannten Leerzeichen auch Null-Bytes sein.
__________________
www.citrosaft.com

Geändert von Lumio (17.08.2009 um 21:46 Uhr).
Lumio ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 18.08.2009, 00:11  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.234
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Es ehrt dich, die Doku zu lesen. Aber lese sie bitte aufmerksam

Zitat:
'w+' Öffnet die Datei zum Lesen und Schreiben und setzt den Dateizeiger auf den Anfang der Datei sowie die Länge der Datei auf 0 Byte. Wenn die Datei nicht existiert, wird versucht sie anzulegen.
Noch Fragen?
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist gerade online   Mit Zitat antworten
Alt 18.08.2009, 00:15  
Erfahrener Benutzer
 
Benutzerbild von Phoscur
 
Registriert seit: 01.12.2008
Beiträge: 450
PHP-Kenntnisse:
Fortgeschritten
Phoscur wird schon bald berühmt werdenPhoscur wird schon bald berühmt werden
Standard

Ans Ende des Scriptes? Du meinst vor den ?> Tag? Lass den ?> doch einfach weg, dann kannst du einfach anhängen.
__________________
Phoscur ist offline   Mit Zitat antworten
Alt 18.08.2009, 10:37  
Erfahrener Benutzer
 
Benutzerbild von Lumio
 
Registriert seit: 12.10.2007
Beiträge: 149
PHP-Kenntnisse:
Fortgeschritten
Lumio ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi

@mepeisen: ok, das hab ich auch überlesen, ... aber wie mach ich das dann, ohne extra die gesamte datei einzulesen?

@Phoscur: Der End-Tag wird garnicht benötigt, wenn man __halt_compiler() verwendet.

Und super! Habs mit r+ probiert, und damit klappts super:
PHP-Code:
<?php
    $fp 
fopen(__FILE__'r+');
    
fseek($fp__COMPILER_HALT_OFFSET__);
    
fwrite($fp"foo");
__halt_compiler();
this is a little test
Resultat: foos is a little test (nach __halt_compiler(); )

(hui... das war ja mein 100er Post)
__________________
www.citrosaft.com

Geändert von Lumio (18.08.2009 um 12:21 Uhr).
Lumio ist offline   Mit Zitat antworten
Alt 18.08.2009, 15:40  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.234
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Beachte bitte, dass das u.U. trotzdem schief geht, wenn die Datei weniger Infos beinhaltet wie früher. Sprich: Wenn früher "foobaz" da angehangen ist und nun "bar" reingeschrieben werden soll, wird da "barbaz" drin stehen. Eventuell also ein Truncate vor dem Write. Wenn du natürlich sicher bist, dass die neu zu schreibende Info immer länger ist als das, was vorher stand, ist das Truncate überflüssig.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist gerade online   Mit Zitat antworten
Alt 18.08.2009, 17:26  
Erfahrener Benutzer
 
Benutzerbild von Lumio
 
Registriert seit: 12.10.2007
Beiträge: 149
PHP-Kenntnisse:
Fortgeschritten
Lumio ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Jep, das ist mir bewusst, aber danke für die Erinnerung
__________________
www.citrosaft.com
Lumio ist offline   Mit Zitat antworten
Antwort


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
Div visible setzen und andere hidden PlanLos23 JavaScript, Ajax und mehr 3 29.05.2009 15:11
Nachträglich Anker setzen? ch.bielmeier PHP Tipps 2009 1 10.04.2009 16:56
Datenbank Einträge Offline Setzen... noxx Datenbanken 9 25.01.2009 12:32
Cookie zusätzlich für eine andere Domain setzen DonTermi PHP Tipps 2007 5 21.05.2007 13:52
eof setzen. Slava PHP Tipps 2007 15 03.04.2007 14:23
Auf eine Flashanimation einen Link setzen andrew22 HTML, Usability und Barrierefreiheit 23 06.03.2007 15:28
Foto-Upload und gleichzeitig CHMOD auf 777 setzen Onkel-Tom PHP Tipps 2007 7 22.02.2007 10:45
Generell Variable als "global" setzen möglich ? simsalabim PHP Tipps 2006 18 19.05.2006 18:47
Cookie lässt sich nicht setzen! Sirke PHP Tipps 2006 6 04.01.2006 16:03
[Erledigt] Gültigkeitsdauer eines Cookies lässt sich nicht setzen PHP Tipps 2005-2 8 21.10.2005 13:25
Absolute position in center setzen? Tic Rederon HTML, Usability und Barrierefreiheit 0 03.10.2005 22:19
Namensschild auf Bild setzen ? PHP-Fortgeschrittene 0 05.08.2005 16:08
[Erledigt] Namensschild auf Bild setzen ? PHP-Fortgeschrittene 0 05.08.2005 13:20
Dateien erstellen und chmod setzen auch wenns nicht geht ^^ PHP Tipps 2005 8 22.05.2005 02:53
2 Tabellen abfragen und dann variable unterschiedlich setzen Anuschka PHP Tipps 2004-2 2 22.12.2004 02:46

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php filepointer setzen, file pointer php, php filepointer, fopen zeiger setzen, php file pointer, file pointer setzen, php datei pointer ändern, file pointer auf anfang setzen, filepointer php, php file pointer setzen, filepointer setzen, file pointer anfang setzen, filepointer auf anfang, file pointer auf anfang, cursor ans ende in einer datei setzen php, file pointer ans ende setzen, php file pointer setzten, php filepointer auf anfang, filepointer auf anfang setzen, file pointer

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:47 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