Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Operacje na plikach
Lee
post 11.06.2006, 13:29:53
Post #1





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 11.04.2006
Skąd: Chojnów

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


Mam problem z operacjami na plikach, nie kumam o co chodzi z fgets(). Przeczytałem to fgets()[ i w ksiażce "Helion 2005 php i MySQL Tworzenie stron WWW Vademecum profesjonalisty wyd3"

ale nie wiem jak zrobić, żeby
W pliku A mam formularz, który pokazuje zawartośc zmiennych z pliku B (config.php) i jest dobrze, problem sie zaczyna gdy jak zmienie dane i zechcę je wysłać do pliku B to nie wiem jak to zrobić, żeby je tam zapisało na stałe :/

Jak zrobić, żeby przeskakiwało do odpowiedniej linijki z daną zmienną ?


--------------------
Nie pomagam w sprawach php na GG i PW od tego jest forum!
Go to the top of the page
+Quote Post
em1X
post 11.06.2006, 13:58:45
Post #2





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


biggrin.gif fgets pobiera jedną linijkę zawartości z pliku

jak zapisać na stałe:
  1. trzeba pobrac stara wersje z pliku
  2. przerobic tą zawartość wg uznania
  3. wyczyscic plik uzywajac
    1. <?php
    2. fopen('plik.txt', 'w');
    3. ?>
  4. wstawic nowa zawartosc
    1. <?php
    2. fputs($fp, $nowa_wartosc);
    3. ?>
  5. na koncu plik zamknąć.. i tak mamy nowy plik


Ten post edytował em1X 11.06.2006, 13:59:31


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
Lee
post 11.06.2006, 14:01:34
Post #3





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 11.04.2006
Skąd: Chojnów

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


no niby tak bym zrobił, ale w tym pliku mam jeszcze inne dane, których niechcę kasować...


--------------------
Nie pomagam w sprawach php na GG i PW od tego jest forum!
Go to the top of the page
+Quote Post
em1X
post 11.06.2006, 14:27:13
Post #4





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


Przeciez napisałem zebys pobrał stare dane, przerobił i wstawił z powrotem? Kto ci kaze wszystko kasować ?


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
Lee
post 11.06.2006, 14:35:01
Post #5





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 11.04.2006
Skąd: Chojnów

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


Z teog co wiem fputs() jest innym zapisem fwrite() a fwrite() zapisuje nowy ciag znaków jako zmienną (chyba da rady skapowac)

Więc jak mój plik config wygląda tak
  1. <?php ob_start();
  2.  
  3. $host = "localhost";
  4. $user = "user";
  5. $pass = "haslo";
  6. $db_name = "nazwa_bd";
  7. $prefix = '';
  8.  
  9. // NIE zmieniać
  10. if (!empty($prefix)){
  11.  $tbl_newsy = $prefix.'newsy';
  12.  $tbl_komentarze = $prefix.'komentarze';
  13.  $tbl_administratorzy = $prefix.'administratorzy';
  14.  $tbl_kategorie = $prefix.'kategorie';
  15.  $tbl_menu = $prefix.'menu';
  16. }
  17. else if (empty($prefix)){
  18. $tbl_newsy = 'newsy';
  19. $tbl_komentarze = 'komentarze';
  20. $tbl_administratorzy = 'administratorzy';
  21. $tbl_kategorie = 'kategorie';
  22. $tbl_menu = 'menu';
  23. }
  24.  
  25. $stopka = '&copy; Copyright 2006 by Lee. All rights reserved.';
  26. // Ile ma pokazywać newsów na stronie głównej
  27. define('ILOSC_WYNIKOW_NA_STRONIE', 10);
  28.  
  29. // Połączenie z bazą danych
  30. $sql = mysql_connect($host, $user, $pass);
  31. mysql_select_db ("$db_name");
  32.  
  33. ?>


to chyba nie da rady pobrać wszystkiego, albo ja nie wiem jak to zrobić :/


--------------------
Nie pomagam w sprawach php na GG i PW od tego jest forum!
Go to the top of the page
+Quote Post
-Gość-
post 11.06.2006, 18:31:18
Post #6





Goście







A nie latwiej uzyc fread() w petli while ?
Go to the top of the page
+Quote Post
Lee
post 11.06.2006, 18:44:09
Post #7





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 11.04.2006
Skąd: Chojnów

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


tzn. jak... questionmark.gif


--------------------
Nie pomagam w sprawach php na GG i PW od tego jest forum!
Go to the top of the page
+Quote Post
-Gość-
post 11.06.2006, 18:51:54
Post #8





Goście







http://pl.php.net/fread jest dobry przyklad
Go to the top of the page
+Quote Post
Lee
post 11.06.2006, 19:31:05
Post #9





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 11.04.2006
Skąd: Chojnów

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


ten przykład:
  1. <?php
  2. $uchwyt = fopen("http://www.przykladowy.com/", "rb");
  3. $tresc = '';
  4. while (!feof($uchwyt)) {
  5. $tresc .= fread($uchwyt, 8192);
  6. }
  7. fclose($uchwyt);
  8. ?>


czy

  1. <?php
  2. $nazwa_pliku = "c:plikijakisobrazek.gif";
  3. $uchwyt = fopen($nazwa_pliku, "rb");
  4. $tresc = fread($uchwyt, filesize($nazwa_pliku));
  5. fclose($uchwyt);
  6. ?>


zrobiłem tym drugim tak
$config = "./config.php";
$tresc = fread($File, filesize($config));
i przewiduje, że w zmiennej $tresc jest cała zawartosc config.php teraz jak zmienić poszczególne zmienne ? wiem młotek zemnie ale tak to bywa :/

Ten post edytował Lee 11.06.2006, 19:34:43


--------------------
Nie pomagam w sprawach php na GG i PW od tego jest forum!
Go to the top of the page
+Quote Post
-Gość-
post 11.06.2006, 19:41:06
Post #10





Goście







Chwila, bo chyba ci zamotalem z tym fread. Napisz dokladnie co chcesz zrobic.
Czy ja dobrze rozumiem - masz plik A i B. W pliku A robisz include B, i w pliku B masz zmienne, ktorych wartosci chcesz zmienic poprzez plik A i zapisac je z powrotem do pliku B ?
Go to the top of the page
+Quote Post
Lee
post 11.06.2006, 19:44:09
Post #11





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 11.04.2006
Skąd: Chojnów

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


Tak tylko
1. nie include robie tylko fopen winksmiley.jpg
2. W pliku B są nietylko zmienne ale warunki i funkcja łącząca z bazą danych

pzdr


--------------------
Nie pomagam w sprawach php na GG i PW od tego jest forum!
Go to the top of the page
+Quote Post
-Gość-
post 11.06.2006, 19:51:23
Post #12





Goście







To cos mi sie wydaje, ze bedziesz musial uzyc wyrazen regularnych po wczytaniu calej tresci pliku do zmiennej.
Go to the top of the page
+Quote Post
Lee
post 11.06.2006, 20:42:19
Post #13





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 11.04.2006
Skąd: Chojnów

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


Nierozumiem...


--------------------
Nie pomagam w sprawach php na GG i PW od tego jest forum!
Go to the top of the page
+Quote Post
em1X
post 11.06.2006, 20:58:14
Post #14





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


no nie rozumiesz, bo kombinujesz jak koń pod górę..
po co zapisujesz kod php do plików, które czytasz fopenem

co chcesz zrobic wlasciwie ?


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
Lee
post 12.06.2006, 14:26:45
Post #15





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 11.04.2006
Skąd: Chojnów

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


Mam plik config.php gdzie zapisane są dane które sa potrzebne do połączenia z bazą danych, warunki co ma zrobić jeżeli ejst prefix a kiedy niema, połączenia z BD
w panelu admina mam ustawienia i chcę zeby tam wyświetlalo zawartosc tych zmiennych potrzbenych do połączeniua z BD z mozliwością ich zmiany (w panelu admina)

Tak to wygląda....


--------------------
Nie pomagam w sprawach php na GG i PW od tego jest forum!
Go to the top of the page
+Quote Post
em1X
post 12.06.2006, 16:27:58
Post #16





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


Ale kombinujesz laugh.gif

Jak sie upierasz ze zmiennymi w pliku to utworz sobie tablice swoich zmiennych:
  1. <?php
  2. $ustawienia = array("zmienna1"=>"value", "inna_zmienna"=>"wartosc");
  3. ?>


następnie tą tablice mozna latwo wrzucic do pliku
  1. <?php
  2. function put($fp, &$arr)
  3. {
  4.  $file = fopen($fp, "w");
  5.  fwrite($file, serialize($arr));
  6.  fclose($file);
  7. }
  8.  
  9. // zapisujemy twoją tablice do pliku
  10. put("ustawienia.txt", $ustawienia);
  11. ?>


mozemy wszedzie wczytac taki plik
  1. <?php
  2. function get($fp)
  3. {
  4.  return unserialize(implode("", file($fp)));
  5. }
  6.  
  7. // pobieramy ustawienia
  8. $ustawienia = get("ustawienia.txt");
  9. ?>


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 7.07.2025 - 04:45