ERLEDIGT
JA
JA
ANTWORTEN
9
9
ZUGRIFFE
859
859
EMPFEHLEN
-
29.04.12 18:35 #1
Mitglied Bronze
- Registriert seit
- Aug 2006
- Beiträge
- 31
Hallo zusammen
ich habe einen recht simplen code, der eine txt-datei in einer textarea öffnen soll und per submit abspeichern sollte. die rechte der php sind mit Chmod 666 ausreichend.
Leider bekomme ich mit meinem script die folgenden fehlermeldungen:
Warning: fopen(http://www. [...]/test.txt) [function.fopen]: failed to open stream: HTTP wrapper does not support writeable connections in /www/.../test-txt-speichern.php on line 9
Warning: fwrite() expects parameter 1 to be resource, boolean given in /www/.../test-txt-speichern.php on line 10
Warning: fclose() expects parameter 1 to be resource, boolean given in /www/.../test-txt-speichern.php on line 11Viele GrüßePHP-Code:
<?
if ($_POST) {
$file = fopen('http://www. [...]/test.txt', 'w', 1);
fwrite($file, $_POST['textarea']);
fclose($file);
?>
<b><font color="#FF0000">Das Speichern war erfolgreich.</font></b>
<textarea name="textarea2" cols="91" rows="50"><? include("http://www. [...]/test.txt");?></textarea>
<?
} else {
?>
<form name="efb" method="post" action="http://www. [...]/test-txt-speichern.php">
<textarea name="textarea" cols="91" rows="50"><? include("hhttp://www. [...]/test.txt");?></textarea>
<br><input type="submit" name="Submit" value="Speichern"></form>
<?
}
?>
Odo
-
29.04.12 19:30 #2
Liegt die Datei auf dem gleichen Host, auf dem auch das PHP-Script ausgeführt wird?
Grüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
29.04.12 19:38 #3
Mitglied Bronze
- Registriert seit
- Aug 2006
- Beiträge
- 31
ja, tut sie.
-
29.04.12 19:40 #4
Prima, dann lass das http:// und die Domain weg, und geb einen Pfad an, der relativ vom PHP-Script ist. Beispiel:
Script liegt in http://www.test.de/php-scripts/schreiben.php
Text-Datei liegt in http://www.test.de/text-files/datei.txt
Pfad, der in fopen() verwendet werden sollte: ../text-files/datei.txt
fopen() kann nicht schreibend auf URLs zugreifen - steht aber eigentlich auch schon in der Fehlermeldung
Grüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
29.04.12 19:47 #5
Hi,
noch was:
beim 2. include lieber
voranstellen, oder gibt es die Dateien immer schon vorher?PHP-Code:if(file_exists("test.txt"))
Dein Script soll ja beim Form-Submit selbst aufgerufen werden, also kannst du das
getrost weglassen, wenn du die Datei nämlich mal umbenennst/verschiebst könnte es sonst unnötig Probleme geben.HTML-Code:action="http://www. [...]/test-txt-speichern.php"
Gruß javaDeveloper2011
-
29.04.12 21:45 #6
Mitglied Bronze
- Registriert seit
- Aug 2006
- Beiträge
- 31
Wunderbar. Jetzt hat es geklappt
Danke!
Allerdings werden jetzt beim speichern der txt-Datei "\" vor die " gesetzt, also der abgespeicherte code maskiert.
wie könnte ich das verhindern?
-
29.04.12 21:46 #7
Dafür gibt es die Funktion stripslashes().
Grüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
29.04.12 22:19 #8
Mitglied Bronze
- Registriert seit
- Aug 2006
- Beiträge
- 31
Danke für eure Hilfe!
Aus meiner sicht muss ich nun folgendes schreiben. Die \ werden nun trotzdem hinzugefügt. Kann mir jemand erklären warum?
Viele GrüßePHP-Code:<? if ($_POST) {
$file = fopen('pfad/test.txt', 'w', 1);
$_POST['textarea'] = stripslashes($_POST['textarea']);
fwrite($file, $_POST['textarea']);
fclose($file);
?>
<b><font color="#FF0000">Der Eintrag wurde erfolgreich geändert.</font></b><br>
<form method="post" action="http://www.domain.de/test-txt-speichern.php">
<textarea name="textarea" style="width:99%;" rows="15"><? include("http://www.domain.de/pfad/test.txt");?></textarea>
<br><input type="submit" name="Submit" value="Speichern"></form>
<?
} else {
?>
<form method="post" action="http://www.domain.de/test-txt-speichern.php">
<textarea name="textarea" style="width:99%;" rows="15"><? include("http://www.domain.de/pfad/test.txt");?></textarea>
<br><input type="submit" name="Submit" value="Speichern"></form>
<?
}
?>
Odo
-
30.04.12 07:08 #9
Guten Morgen.
Versuch es mal so:
Code php:1 2 3
$file = fopen('pfad/test.txt', 'w', '1'); fwrite($file, stripslashes( $_POST['textarea'] ) ); fclose($file);
Grüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
01.05.12 11:54 #10
Mitglied Bronze
- Registriert seit
- Aug 2006
- Beiträge
- 31
Jetzt funktioniert es. Dankeschön!
Ähnliche Themen
-
Dokument öffnen, bearbeiten und speichern
Von Christian030783 im Forum Javascript & AjaxAntworten: 5Letzter Beitrag: 02.03.12, 15:07 -
Mittels PHP eine Excel Datei öffnen - bearbeiten - speichern
Von 3Dnavigator im Forum PHPAntworten: 1Letzter Beitrag: 05.11.08, 14:54 -
PDF-Datei mittels PHP öffnen, bearbeiten und speichern
Von easywing im Forum PHPAntworten: 7Letzter Beitrag: 07.02.08, 15:37 -
Textarea in DB speichern und später wieder bearbeiten
Von supachecka im Forum PHPAntworten: 2Letzter Beitrag: 07.12.07, 11:23




Zitieren

Login