Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Mały problem ;)
Forum PHP.pl > Forum > PHP
Sylwin
Mam mały problem z tym skryptem:

http://plikownik.pl/php/plik.php

Skrypt służy do edycji pliku txt z poziomu serwera. Skrypt działa dobrze ale gdy chcę wstawic np obrazek

<img border="0" src="http://allegro.pl/site_images/1/0/common/logo.gif"> po zapisie do pliku powstaje cos takiego: <img border=\"0\" src=\"http://allegro.pl/site_images/1/0/common/logo.gif\"> i oczywiscie obrazek sie nie wyświetla...

Jak zrobic zeby przed znakiem " nie pojawiał się \
Proszę o pomoc smile.gif Z góry dziekuje smile.gif

Oto kod skryptu:

plik.php
  1. <?
  2. $filename = 'plik.txt';
  3. if(isset($_POST['text']))
  4. {
  5.  $fd = fopen ($filename, 'w');
  6.  $data = fwrite ($fd, $_POST['text']);
  7.  fclose ($fd);
  8. }
  9. if(file_exists($filename))
  10. {
  11.  $fd = fopen ($filename, 'r');
  12.  $data = fread ($fd, filesize ($filename));
  13.  fclose ($fd);
  14. }
  15. else
  16.  $data = NULL;
  17. echo('<FORM ACTION="plik.php" METHOD=POST><textarea rows="10" cols="50" name="text">'.$data.'</textarea><br><input type="submit" value="Ok"></form>');
  18. ?>


Tekst jest zapisywany do pliku "plik.txt"

A skrypt musi sie nazywać plik.php !
Sylwin
Ok teraz jest prawie ok smile.gif Ale:

Kolejnym problemem jest to że gdy nic nie wpiszemy pisze:

Warning: fread(): Length parameter must be greater than 0. in /home/throwb1/public_html/cms/panel.php on line 13

Kto wie jak usunąć ten błąd - co wstawic w kodzie zeby go nie było ?


  1. <?php
  2. $filename = 'tekst.txt';
  3. if(isset($_POST['text']))
  4. {
  5.  $fd = fopen ($filename, 'w');
  6.  $data = fwrite ($fd, stripslashes($_POST['text']));
  7.  fclose ($fd);
  8. }
  9. if(file_exists($filename))
  10. {
  11.  $fd = fopen ($filename, 'r');
  12.  $data = fread ($fd, filesize ($filename));
  13.  fclose ($fd);
  14. }
  15. else
  16.  $data = NULL;
  17. echo('<FORM ACTION="panel.php" METHOD=POST><textarea rows="10" cols="50" name="text">'.$data.'</textarea><br><input type="submit" value="OK"></form>');
  18. ?>
KotDomowy
Po pierwsze sprawdź czy dane zostały zapisane do pliku, potem zrób echo filesize( $filename ); - jeżeli miałeś pusty plik - to właśnie filesize pokaże, że masz 0 - a jak mówi nam błąd - że parameter długość MUSI być większy niż 0. Poza tym do odczytu z pliku lepiej stosować file (dane będą w tablicy) lub file_get_contents (dane będą w stringu) - ale to moje subiektywne zdanie i nikt nie musi się z nim zgadzać smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.