Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zawartosc pliku txt jako zmienna
ProNeO
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 1.01.2012

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


Witam, jestem "świeży" w php i mam nasteoujacy problem.
Zajmuję sie własnie pisaniem ankiety. Zrobilem juz wyswietlanie pytań. Odpowiedzi userów zapisywane sa w pliku .txt ktorego nazwa jest adres IP komputera z ktorego byla wykonana ankieta. Ten sam adres zostaje dodany do pliku adresy.txt. Ten plik potrzebny jest do pobierania IP , ktore jako nazwa pliku otwierane jest przez funkcje. Na sam koniec ankiety wyswietlane są wyniki głosowania. Tzn powinny byc wyswietlane ponieważ nie dziala mi ten skrypt. Program otwiera plik adresy.txt i pobiera kazdy adres IP jaki tam jest i powinien go wykorzystac jako zmienna i otworzyc plik o nazwie tej samej co adres IP, ale tak sie nie dzieje. Czy mozna jakoś daną z pliku jako zmienna ustawic?

Z góry dzieki za odpowiedz:)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Temat: Jak poprawnie zatytulowac watek
Go to the top of the page
+Quote Post
kabexxx
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 18.03.2012

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


Powinno być chyba tak:
WCZYTANIE
  1. $ip = file('nazwapliku.txt')

Go to the top of the page
+Quote Post
daniofantasy
post
Post #4





Grupa: Zarejestrowani
Postów: 30
Pomógł: 1
Dołączył: 14.06.2007
Skąd: Chesterfield UK

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


zapisuj sobie do pliku tak:

  1. $dane[]='127.0.0.1';
  2. $dane[]='192.168.0.1';


i potem jak zaladujesz plik do zmiennej trzasnij wszystko evalem:

  1. $dane = twoja_funkcja_ladowania($plik);
  2. @eval($dane);


i masz calosc w tablicy - malpka zeby nie sralo bledami - ewentualnie uzyj try {} catch {} zeby wiedziec czy sie poprawnie zaladowalo
Go to the top of the page
+Quote Post
ProNeO
post
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 1.01.2012

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


hehe skomplikowane rzeczy mi mowicie:P
O to kod tego skryptu :

  1. <html>
  2. <head>
  3.  
  4. </head>
  5. <body>
  6.  
  7. <?php
  8.  
  9. $adres=fopen('adres.txt', 'r'); //otwiera plik z adresami IP
  10. while (!feof($adres)) // czyta do konca plik
  11. {
  12. $a=fgets($adres); //$a pobiera pierwszy adres z pliku
  13. echo $a."<br>"; // wyświetla ten adres w celu sprawdzenia poprawności kodu
  14.  
  15. if ($a==null) // sprawdza czy $a jest pusta(w wypadku gry bedzie juz koniec pliku adres.ttx)
  16. {
  17. break; //zatrzymuje skrypt
  18. }
  19. else
  20. {
  21. $plik=fopen("$a", 'r'); //i tu jest problem, $plik powinna otworzyć plik , którego nazwę pobrała by z pliku adres.txt
  22. echo $plik; //kontrola otwarcia pliku
  23. while (!feof($plik)) //odczytuje plik do konca
  24. {
  25. $nrpyt=fgets($plik); //w tych plikach zapisywane sa w osobnych linikjach numer pytania i numer odpowiedzi stad takie czytanie
  26. $nrodp=fgets($plik); // to samo co wyzej
  27. echo $nrpyt."<br>"; // wyswietlanie numeru pytania
  28. echo $nrodp."<br>"; //wyswietlanie odpowiedzi na pytanie
  29. }
  30. fclose($plik); // zamkniecie pliku
  31. }
  32. }
  33. fclose($adres); //zamkniecie pliku
  34. ?>
  35. </body>
  36. </html>


postarałem sie wam wytlumaczyc kod mojego skryptu, jesli bedize potrzebowali zawartosci jakiegos pliku jeszcze to wstawie.
A problem jest taki ze $plik nie chce otwierac pliku o nazwie $a.
Go to the top of the page
+Quote Post
crocodillo
post
Post #6





Grupa: Zarejestrowani
Postów: 215
Pomógł: 44
Dołączył: 31.07.2011
Skąd: wrocław

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


  1. $plik=fopen(trim($a), 'r'); //i tu jest problem, $plik powinna otworzyć plik , którego nazwę pobrała by z pliku adres.txt


Reszty nie sprawdzałem, bo o ten kawałek Ci chodziło


Cytat(ProNeO @ 19.03.2012, 22:34:24 ) *
hehe skomplikowane rzeczy mi mowicie:P



Nie skomplikowane, tylko strasznie dziwnie zakręcone. To co daniofantasy napisał można przyrównać do obliczania 2+2 za pomocą funkcji trygonometrycznych
Go to the top of the page
+Quote Post
ProNeO
post
Post #7





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 1.01.2012

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


crocodillo dziekuje ci, twoja rada dziala:)
Ale mam jeszcze jedna prozbe, moglbys mi wytlumaczyc na czym polega ta funkcja? Bo co z tego ze stosuje a nie wiem jak dziala:)

Ten post edytował ProNeO 24.03.2012, 20:34:44
Go to the top of the page
+Quote Post
crocodillo
post
Post #8





Grupa: Zarejestrowani
Postów: 215
Pomógł: 44
Dołączył: 31.07.2011
Skąd: wrocław

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


Cytat(ProNeO @ 24.03.2012, 20:29:26 ) *
crocodillo dziekuje ci, twoja rada dziala:)
Ale mam jeszcze jedna prozbe, moglbys mi wytlumaczyc na czym polega ta funkcja? Bo co z tego ze stosuje a nie wiem jak dziala:)


trim() obcina białe znaki (spacje, znak nowej linii itp) na początku i końcu ciągu. Miałeś w kodzie taką linijkę:
  1. $a=fgets($adres); //$a pobiera pierwszy adres z pliku
, a funkcja fgets() pobiera też znak nowej linii, dlatego trzeba było przyciąć.
Go to the top of the page
+Quote Post
ProNeO
post
Post #9





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 1.01.2012

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


aha, dziekuje za wytlumaczenie:)
mam jeszcze jeden problem

  1. $a=0;
  2. while($a>=12)
  3. {
  4.  
  5. $pytanie=fgets($pyt);
  6. if ($a=1)
  7. {
  8. $pyt1==fgets($pyt);
  9. }
  10. if ($a=5)
  11. {
  12. $pyt2==fgets($pyt);
  13. }
  14. if ($a=9)
  15. {
  16. $pyt3==fgets($pyt);
  17. }
  18. $a++;
  19. }

nie rozumiem co tutaj nie dziala. ma mi przeczytac plik i wyciagnac z niego odpowiednie linijki ale nie wyciaga nic.

Ten post edytował ProNeO 25.03.2012, 00:08:10
Go to the top of the page
+Quote Post
Niktoś
post
Post #10





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

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


Spróbuj:
while($a<=12)
Go to the top of the page
+Quote Post
ProNeO
post
Post #11





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 1.01.2012

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


Dziekuje masz racje , zawsze mi sie mylilo to:P
Probowałem tak jak mowisz tylko wziolem $a=<12:P
Go to the top of the page
+Quote Post

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: 26.12.2025 - 03:20