Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przy zapisie do pliku, generują się znaki
glass
post
Post #1





Grupa: Zarejestrowani
Postów: 94
Pomógł: 0
Dołączył: 23.03.2007
Skąd: United Kingdom

Ostrzeżenie: (10%)
X----


witam mam dziwny błąd, otóż chodzi o odczyt z pliku i zapis.. przy tej prostej operacji skrypt automatycznie generuje mi dodatkowe znaki... wykonuje akcję na dwa sposoby w obydwu przypadkach jest tak samo .. kod wygląda tak:

  1. <?php
  2. /*odczytuje plik*/
  3. $o=fopen("kursyonline.txt","r");
  4. $p=fread($o, filesize("kursyonline.txt"));
  5. $dane=explode(";", $p);
  6. $pp=$dane[0];
  7. fclose($o);
  8. ?>


  1. <?php
  2. /*przekazuje formularzem zmienne*/
  3. <form action=\"dostep.php\" method=\"post\">
  4. <textarea cols=\"100\" rows=\"25\" name=\"zawartosc\">$pp</textarea><br>
  5. <input type=\"hidden\" name=\"kursyonline\" value=\"<Dodaj>\">
  6. <input type=\"hidden\" name=\"zapis\" value=\"ok\">
  7. <input type=\"submit\" value=\"Zapis\">
  8. </form>
  9.  
  10. <form action=\"../../index01.php#kursyonline\" method=\"post\">
  11. <input type=\"hidden\" name=\"dostep\" value=\"myaccount\">
  12. <input type=\"submit\" value=\"Anuluj\">
  13. </form>
  14. ");
  15. ?>

i tu skrypt zapisuje wcześniejsze informacje z pola tekstowego do pliku, bardzo proste

  1. <?php
  2. $zawartosc=$_POST['zawartosc'];
  3.  
  4. $o=fopen("kursyonline.txt","w");
  5. fputs($o, $zawartosc);
  6. fclose($o);
  7. ?>


zawartość pliku wygląda tak:

  1. <a name="kursyonline"></a>
  2. <a href="#surferup" class="wpis">_Kursy on-line</a><br />


zawartość pliku po zapisie wygląda tak:

  1. <a name=\"kursyonline\"></a>
  2. <a href=\"#surferup\" class=\"wpis\">_Kursy on-line</a><br />


zapisuje drugi raz i wygląda tak:

  1. <a name=\\\"kursyonline\\\"></a>
  2. <a href=\\\"#surferup\\\" class=\\\"wpis\\\">_Kursy on-line</a><br />


no kto albo co na Odyna dodaje mi znaki gratis ... pless pomóżcie może ktoś wie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Pozdrawiam!

Ten post edytował glass 5.04.2008, 04:21:05
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
artega
post
Post #2





Grupa: Zarejestrowani
Postów: 174
Pomógł: 42
Dołączył: 22.07.2007
Skąd: /dev/random

Ostrzeżenie: (0%)
-----


Cytat
może ktoś wyjaśni do czego jest wyżej cytowane zdanie i czy jest potrzebne ?

W przypadku gdy domyślnie konfiguracja php magic_quotes_runtime jest ustawiona to funkcje, które zwracają wynik z zewnętrznych źródeł np. file_get_contents dodaje znak "ucieczki" przed apostrofem i cudzysłowem. Dla zobrazowania tego przykładu sprawdź jak działa poniższy kod:
  1. <?php
  2.  
  3.  
  4. $file = file_get_contents("test");
  5.  
  6. echo $file;
  7.  
  8. ?>

zakładając, że zawartością pliku test jest dosłownie: "foo" and 'bar'
Dodatkowo konfiguracja magic_quotes_gpc dodaje znaki ucieczki do zmiennych w tablicach $_GET, $_POST, $_COOKIE.
Pamiętaj, że stosowanie magic_quotes_runtime i magic_quotes_gpc jest uznawane za "złą" praktykę dlatego usunięto te opcje w PHP6.
Pozdrawiam
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 12:33