Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> odczyt danych + dafine i serializacja
Apo
post
Post #1





Grupa: Zarejestrowani
Postów: 426
Pomógł: 1
Dołączył: 2.10.2005

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


Witam
Mam dane zapisane w pliku txt. Chciałem uniemożliwić odczyt ich danych poprzez zrobienie takiego czagoś:
(plik: baza.txt)
<?php
define('DATA', tablica po serializacji);
?>
///koniec

No i z zapisywaniem nie ma problemu ale jak to odczytać bo zrobiłem taką funkcjie ale jest źle:
  1. <?php
  2. function show( $baza ) {
  3. if(!file_exists($baza) || filesize($baza) == 0) {}
  4. else
  5. {
  6. $dane = '';
  7. $h = fopen($baza, 'r');
  8. flock($h, LOCK_SH);
  9. fread($h, filesize($baza));
  10. flock($h, LOCK_UN);
  11. fclose($h);
  12. if(defined('DATA'))
  13. {
  14. $dane = unserialize('DATA'); 
  15. }
  16. else
  17. {
  18. $dane = array();
  19. }
  20. echo '<pre>'.print_r($dane, 1).'</pre>';
  21. return;
  22. }
  23. }
  24. ?>

Prosze o poprawienie mnie.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
johnson
post
Post #2





Grupa: Zarejestrowani
Postów: 90
Pomógł: 2
Dołączył: 3.12.2004

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


pierwsze primo to w pliku baza.txt powinieneś trzymać tylko zserializowany ciąg, a nie jakiś kod php ze stałą DATA

drugie primo to to co przeczyta funkcja fread powinieneś przypisać do jakiejś zmiennej, czyli:
$data = fread($h, filesize($baza));

i wtedy unserializować zmienną $data

innym rozwiązaniem może być też, jeśli zostawisz plik baza.txt w obecnej postaci, użycie zamista fopen, fread itd. funkcji include('baza.txt'), wtedy może to zadziałać (choć 100% pewności nie mam), ale moim zdaniem jest to rozwiązanie brzydkie i go nie polecam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
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: 14.10.2025 - 11:53