Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Skrypt menu
Visual
post 6.08.2005, 16:02:06
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 6.08.2005
Skąd: Kielce

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


Witam!
Jestem początkujący w php (aczkolwiek znam C++ i HTML tongue.gif). Mianowicie mam problem. Wymyśliłem sobie skrypt który z pliku bedzie wczytywal menu. Oto jego kodzik:
  1. <html>
  2. <?php
  3. $i=0;
  4. $wps = fopen (&#092;"$DOCUMENT_ROOT/kupa/menu.txt\", \"r\");
  5. $wp = file($wps);
  6. $linki = count($wp);
  7. if($linki==0)
  8. {
  9. echo &#092;"blad skryptu\";
  10. }
  11.  
  12. for($i=0; $i<$ilosc_zamowien; $i++)
  13. {
  14. $wiersz = explode(&#092;":\", $wp[$i]);
  15. echo '<a href=\"';
  16. echo $wiersz[$i+1];
  17. echo'\">';
  18. echo $wiersz[$i];
  19. echo'</a>';
  20. $i=+1;
  21. }
  22.  
  23. fclose($wps);
  24. ?>
  25. </html>


menu.txt zawiera treść:
Kod
cos:onet.pl
niecos:wp.pl
jajko:dwa_jajka


Plik wrzucam na 100webspace.com (cogia.net). Parser wypluwa taki error:
Kod
Warning: file() expects parameter 1 to be string, resource given in /home/www/visualpl.cogia.net/cosik.php on line 5

Pod spodem pojawia sie takze linia "blad skryptu" wiec zmienna $linki ma wartosc 0.
Wszelka pomoc będzie pomocna cool.gif Najlepiej jakbyscie mi wyjasnili co robie źle i jak lepiej zoptymalizować ten kod.

Pozdro happy.gif

---

tiraeth


Ten post edytował tiraeth 6.08.2005, 16:53:28
Go to the top of the page
+Quote Post
mike
post 6.08.2005, 16:07:50
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Funkcja file() przyjmuje jako parametr nazwę pliku a nie uchwyt do niego.
Go to the top of the page
+Quote Post
Visual
post 6.08.2005, 16:15:55
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 6.08.2005
Skąd: Kielce

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


W mojej książce (php i MySQL Tworzenie Stron WWW Vademecum Profesjonalisty wyd.2) widze taki kawałek kodu:
Kod
$wp=fopen("DOCUMENT_ROOT/.../zamowienia/zamowienia.txt", 'r');
$tablicapliku=file($wp);

Więc w czym problem ? blink.gif

(to jest na stronie 83, jak ktos chce sprawdzić)
Go to the top of the page
+Quote Post
mike
post 6.08.2005, 16:23:10
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


smile.gif Też mam tą książkę i faktycznie się pomylili (sprawdziłem).

Jeżeli chcesz załadować plik do tablicy to robisz tak:
  1. <?php
  2.  
  3. $arrTablicaPliku = file( 'path/nazwa_plik.txt' );
  4. // .. coś tam dalej
  5.  
  6. ?>
Go to the top of the page
+Quote Post
Visual
post 6.08.2005, 16:23:54
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 6.08.2005
Skąd: Kielce

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


A muszę przedtym otwierać plik ? (fopen etc. ?)
Go to the top of the page
+Quote Post
mike
post 6.08.2005, 16:32:16
Post #6





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(Visual @ 2005-08-06 16:23:54)
A muszę przedtym otwierać plik ? (fopen etc. ?)

Nie.

A propo Twojego kodu i jego optymalizacji:
  1. <?php
  2.  
  3. $arrTab = file( &#092;"$DOCUMENT_ROOT/kupa/menu.txt\" );
  4.  
  5. if( count( $arrTab ) <= 0 )
  6. {
  7. echo &#092;"Blad skryptu.\";
  8. }
  9.  
  10. foreach( $arrTab as $strValue )
  11. {
  12. $arrRow = explode( ':', $strValue );
  13. echo '<a href=\"' . $arrRow[ 1 ] . '\">' . $arrRow[ 0 ] . '</a>';
  14. echo '<br />';
  15. }
  16.  
  17. ?>
Go to the top of the page
+Quote Post
Visual
post 6.08.2005, 17:02:15
Post #7





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 6.08.2005
Skąd: Kielce

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


No dobra, problem rozwiązany, topic mozna zamknąć winksmiley.jpg
Go to the top of the page
+Quote Post
Gibcio
post 8.10.2006, 17:56:09
Post #8





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 20.04.2005

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


Przykład skryptu menu:
  1. <?php
  2. $menu="menu.txt";
  3. $panel=file($menu);
  4. $total=count($panel);
  5. for($ip=0; $total>$ip; $ip++)
  6. {
  7. $gp=split("|", chop($panel[$ip]));
  8. $mn=explode("||", $panel[$ip]);
  9. print("<a href=$mn[0]>$mn[1]</a><br>");
  10. }
  11. ?>


Plik menu.txt:

index.php||Strona główna||
admin.php||Administracja||
itp.
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: 21.06.2025 - 23:14