| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

17-12-2009, 16:26
|
|
Jama22
Registrierter Benutzer
|
|
Registriert seit: Dec 2009
Beiträge: 29
|
|
In Datei schreiben
Hallo,
Ihr denkt warscheinlich ich schon wieder ich habe mich jetzt ein bisschen mit PHP und Formularen und deren Inhalte weitergeben beschäftigt. Soweit geht auch alles!
Formular.html
HTML-Code:
<form action="send.php" method="GET" target="_blank">
<input type="text" name="name" maxlength="50" size="30">
<input type="submit" value="Senden" action="send.php">
</form>
Send.php
PHP-Code:
<?php
if ( $_GET['name'] <> "" ) {
$handle = fopen ( "beschrieben.txt", "w" );
fwrite ( $handle, $_GET['name'] );
fclose ( $handle );
echo "Danke - Ihre Daten wurden speichert";
exit; }
?>
Das geht auch alles, nur was ist wenn ich in eine merzeillige Datei schreiben will an deine bestimmte Stelle genau im Text wie stelle ich das dann an. Ich habe bereits bei Google und auch hier geguckt aber nicht zu diesem Thema gefunden entweder bin ich zu blind oder.......
grüße
janis
Geändert von Jama22 (17-12-2009 um 16:30 Uhr)
|

17-12-2009, 16:35
|
|
streuner
Registrierter Benutzer
|
|
Registriert seit: Aug 2009
Ort: Lüneburg
Beiträge: 461
|
|
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.
"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
|

17-12-2009, 16:40
|
|
Quetschi
PHP Expert
|
|
Registriert seit: Dec 2004
Beiträge: 2.759
|
|
php.net/fseek
Frag mich aber nicht wie sich das verhält - also ob man dann vom Zeiger weg einfügt oder überschreibt.
__________________
Drelingdo
Krabonse
Simmannamando
|

17-12-2009, 16:41
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
Benutze bei fwrite den Parameter "a", dann wird der neue Text an den alten angehängt. Denke aber auch an einen Zeilenumbruch.
PHP-Code:
$_GET['name']."\n"
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

17-12-2009, 16:42
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von Quetschi
php.net/fseek
Frag mich aber nicht wie sich das verhält - also ob man dann vom Zeiger weg einfügt oder überschreibt.
|
Das kann ich beantworten: man überschreibt immer, also muss man immer ein Stück voraus lesen und das einem Puffer hinzufügen, dann zurückspringen und wieder ein Stück Puffer schreiben.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

17-12-2009, 16:46
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
|
|
Peter meint nicht fwrite sondern fopen, also fopen('datei.name', 'a'). Das ist der einfachste Weg, wenn man an eine Datei etwas "hinten anhängen" will.
Wenn du nicht anhängen willst, bringt dir 'a' nichts. Willst du in einer bestimmten Zeile etwas ändern oder eine Zeile hinter/vor einer anderen einfügen, dann ist file() dein Freund.
Kannst du nicht zeilenabhängig arbeiten, z.B. weil du einen Teilstring in der Datei bearbeiten/ersetzen/löschen willst, der vielleicht über mehrere Zeilen geht, kannst du mit file_get_contents() die ganze Datei in einen String laden und mit String-Funktionen arbeiten.
Mit fseek() ginge das im Prinzip auch, ist aber gerade für Neulinge ziemlich kompliziert.
|

17-12-2009, 16:46
|
|
Quetschi
PHP Expert
|
|
Registriert seit: Dec 2004
Beiträge: 2.759
|
|
Urgs - dann kann man gleich mit w+ aufmachen, alles auslesen, mit den string-funktionen den Inhalt entsprechend editieren und dann in einem Rutsch wieder schreiben.
__________________
Drelingdo
Krabonse
Simmannamando
|

17-12-2009, 17:39
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
Zitat:
Zitat von Quetschi
Urgs - dann kann man gleich mit w+ aufmachen, alles auslesen, mit den string-funktionen den Inhalt entsprechend editieren und dann in einem Rutsch wieder schreiben.
|
w+ leert die Datei aber afaik schon beim Öffnen, also nicht ganz der richtige Weg. Dann a+ oder r+
|

17-12-2009, 17:44
|
|
Quetschi
PHP Expert
|
|
Registriert seit: Dec 2004
Beiträge: 2.759
|
|
oh - ich hab schon ewig nicht mehr mit dateien im PHP rumgedoktort
__________________
Drelingdo
Krabonse
Simmannamando
|

17-12-2009, 17:47
|
|
Jama22
Registrierter Benutzer
|
|
Registriert seit: Dec 2009
Beiträge: 29
|
|
Nein, ich möchte hier (siehe Script) den Text aus der Datei haben!
PHP-Code:
<?PHP $e = escapeshellcmd('ping [HIER!]'); system("$e"); ?>
|

17-12-2009, 18:11
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
Na dann wäre file_get_contents doch der Kandidat der Wahl.
|

17-12-2009, 18:22
|
|
Jama22
Registrierter Benutzer
|
|
Registriert seit: Dec 2009
Beiträge: 29
|
|
Okay, so ganz verstehe ich das noch nicht.
PHP-Code:
string file_get_contents ( string $filename [, int $use_include_path [, resource $context ]] )
- $filename: Klar
- $use_include_path: Was muss da hin?
- $context: Und hier?
- Und in welche Datei muss das warscheinlich in diese Datei, oder
So?
PHP-Code:
<?PHP $e = escapeshellcmd('ping string file_get_contents ( string $filename [, int $use_include_path [, resource $context ]] ) '); system("$e"); ?>
|

17-12-2009, 19:15
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
Dir fehlen ganz offensichtlich irgendwelche Grundlagen. Ließ mal ein wenig bei dem guten Kropff nach.
|

17-12-2009, 20:23
|
|
Jama22
Registrierter Benutzer
|
|
Registriert seit: Dec 2009
Beiträge: 29
|
|
Irgentwie bekomm ich nichts hin, kann mir den keiner schnell mal diesen Script anfertigen? Oder mir helfen was ich tun soll damit es geht?
|

17-12-2009, 20:50
|
 |
fireweasel
Registrierter Benutzer
|
|
Registriert seit: Sep 2008
Ort: At home
Beiträge: 680
|
|
Zitat:
Zitat von Jama22
Irgentwie bekomm ich nichts hin, kann mir den keiner schnell mal diesen Script anfertigen?
|
Kein Wunder, wenn du die Aufgabe, die das Script ausführen soll, nicht konkret beschreibst.
Aus deinem Eröffnungsposting lese ich lediglich heraus, dass du den Inhalt der Variablen $_GET['name'] irgendwo in die Datei 'beschrieben.txt' eintragen willst. Aber wohin genau?
Zitat:
|
Oder mir helfen was ich tun soll damit es geht?
|
Schreib dir mal Schritt für Schritt auf, was dein Script machen soll.
Dann werde dir klar, was die Datei-Funktionen so machen, und welche Wirkung unterschiedliche Parameter haben.
Am Beispiel von file_get_contents():
PHP-Code:
$daten = file_get_contents(
$datei_aus_der_gelesen_wird,
FALSE, // ignorieren
NULL, // ignorieren
$start_position, // kann weggelassen werden
$anzahl_der_zu_lesenen_bytes // Maximalwert, kann weggelassen werden
);
Daraus schlussfolgere ich, dass du wohl eher file_put_contents() suchst ...
__________________
PHP-Code:
class Brick implements Throwable {
// ...
}
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
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.
HTML-Code ist aus.
|
|
|
|
PHP News
|