ďťż

[PHP]Zapis i odczyt z pliku

       

Podstrony


telcocafe

Witam. mam dwa pytania:

1. Jak odczytać zawartość dokumentu *.txt i zapisać go do zmiennej?

2. Mam plik z liczbą w środku (np. 100). Jak dodać zmienną do niego. Np. Mam zmienną 23, i jak zrobić, aby w pliku było 123 (oczywiscie nie wchodzi w grę ręczna edycja pliku :) )

Dziękuję i pozdrawiam



$fp = fopen ('plik.txt', 'r'); $zmienna = fread($fp, filesize('plik.txt')); fclose($fp); $zmienna = $zmienna + 100; fopen ('plik.txt', 'w'); fwrite($fp, $zmienna); fclose($fp);

1: ob_start(); readfile('example.file'); @ob_flush(); $content = ob_get_contents(); ob_end_clean(); manual się kłania :P

2. Jeżeli jest tam tylko liczba to to co na górze plus $file=fopen('example.file', "w"); $zapis=$content+23; fwrite(Splik, $zapis); fclose($file);

Mam jeszcze jedno pytanie co do zmiennej:

zwykle, żeby dynamicznie dodać w zmiennej liczby, trzeba tylko $zmienna=2+2, a jak chce dodać 2+2+jakąś zmienną?

Pozdrawiam



$zmienna = 2+2+$zmienna_druga+$zmienna_trzecia;
Podstawy...

tylko coś właśnie to nie działa :)

A już działa dzięki :)
Użytkownik bartek_kawa edytował ten post 18 wrzesień 2006, 17:14

tylko coś właśnie to nie działa
Nie ma prawa nie działać. Coś robisz źle.

Po prostu jedengo cudzysłowu w echo nie zamknąłem, który jest w tej samej linii :)

Tylko ma jeszcze pytanie co do ob: skrypt wyświetla zmienne, czy da się to usunąć?

I taki tam problemik:
<?php readfile('dane/1.txt'); @ob_flush(); $1 = ob_get_contents(); ob_end_clean(); @ob_flush(); readfile(dane/2.txt'); $2 = ob_get_contents(); ob_end_clean(); @ob_flush(); readfile('dane/3.txt'); $3 = ob_get_contents(); ob_end_clean(); @ob_flush(); readfile('dane/4.txt'); $4 = ob_get_contents(); ob_end_clean(); $calosc=($4+$2+$3+2)/3*7; echo('Wynik to'); echo($calosc); echo('<p>&nbsp;</p>'); if ($calosc>74) echo('Jest większy od 74'); else echo('Ale nie jest większy od 74'); ?>

Czemu zawsze ten sam wynik wyświetla?
Użytkownik bartek_kawa edytował ten post 18 wrzesień 2006, 17:30
Jakoś nie zastosowałeś, sie do tego co napisałem - zobacz jak wygląda kod tam a jak u Ciebie.

Chodzi o tą zmienną $content?

Ok, już sobie poradziłem z tym, tylko zostało wyświetlanie zmiennych.

Aha. Powinno być
fwrite($file, $zapis);

W tamtym skrypcie otwierasz plik w trybie w, czyli kasowana jest zawartość pliku, a czy jest możliwość dopisania danych (nie a), tylko, zeby w zmiennej była 300, a po dodaniu 330 :)
Użytkownik bartek_kawa edytował ten post 18 wrzesień 2006, 17:48
no przeciez ci napisalem - z mego pierwszego postu polacz dwa kody

Echhh...Może od początku. Nudzi mi się i pomyślałem, że napiszę grę (takie tam, coś w stylu The Crims, żeby się trochę nauczyć php, nie na sero :)).

Wyniki tu (mój skrypt):
tu

Kod skryptu:
<?php ///Przykład napadu na coś $dodawanie_konto=rand(10,500); $dodawanie_inteligencja=rand(0,50); $dodawanie_refleks=rand(0,30); $dodawanie_komp=rand(0,1); readfile('postac/konto.txt'); @ob_flush(); $konto = ob_get_contents(); ob_end_clean(); $file=fopen('postac/konto.txt', "w"); $zapis=$konto+$dodawanie_konto; fwrite($file, $zapis); fclose($file); @ob_flush(); readfile('postac/inteligencja.txt'); $inteligencja = ob_get_contents(); ob_end_clean(); $file=fopen('postac/inteligencja.txt', "w"); $zapis=$inteligencja+$dodawanie_inteligencja; fwrite($file, $zapis); fclose($file); @ob_flush(); readfile('postac/refleks.txt'); $refleks = ob_get_contents(); ob_end_clean(); $file=fopen('postac/refleks.txt', "w"); $zapis=$refleks+$dodawanie_refleks; fwrite($file, $zapis); fclose($file); @ob_flush(); readfile('postac/komp.txt'); $komp = ob_get_contents(); ob_end_clean(); $file=fopen('postac/komp.txt', "w"); $zapis=$komp+$dodawanie_komp; fwrite($file, $zapis); fclose($file); $punkty_calosci=($inteligencja+$refleks+$komp+2)/3*7; echo('Twoje punkty postaci to: '); echo($punkty_calosci); echo('<p>&nbsp;</p>'); if ($punkty_calosci>74) echo('Włamanie udane!'); else echo('Wpadłeś!! :('); ?>

Problemy:
-cyfry na początku
-nie jest naliczana łączna ilość punktów na podstawie plików
-zapisywanie(dopisywanie do pliku)

jak to rozwiązać?

Pozdrawiam

a nie lepiej poprostu zastosowac file_get_contents i file_ put_ contents?

btw zmienne nie moga byc cyframi! -.-
Użytkownik bikstopa edytował ten post 18 wrzesień 2006, 18:46

nie lepiej poprostu zastosowac file_get_contents i file_ put_ contents? Któraś z tych funkcji działa tylko pod php5 więc należy rozwazyć jaką sie ma wersje php.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.