Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] funkcja "end"
Forum PHP.pl > Forum > Przedszkole
tchoman
Witam
Mam tu taki krótki kod:
CODE

function pokazRozszerzenie($plik1)
{
$dzialanie = end (explode('.', $plik1));
return $dzialanie;
}
$plik1 = array ("pierwszy"=>"hduwhdh.gif", "drugi"=>"cjijis.exe", "trzeci"=>"hhshhs.ajja.jpg", "czwarty"=>"djdjshs.doc", "piaty"=>"kkhkhnkvmjv.tmp");
print ("<table border=\"2\">");
print ("<tr bgcolor=\"yellow\">");
print ("<td><b>LP.</b></td><td><b>Nazwa pliku</b></td><td><b>Rozszerzenie</b></td>");
print ("</tr>");
foreach ($plik1 as $klucz => $wartosc)
{
print ("<tr>");
print ("<td><i>Plik $klucz : </i></td> <td>$wartosc</td> <td><b>".pokazRozszerzenie($wartosc)."</b></td>");
print ("</tr>");
}
print ("</table>");

Efekt powinien być taki:

LP. Nazwa pliku Rozszerzenie
Plik pierwszy : zdjecie.jpg jpg
Plik drugi : animacja.gif gif
Plik trzeci : dokument.doc doc
Plik czwarty : tymczasowy.tmp tmp
Plik piaty : dziwny.jpg.gif.mp3 mp3
Plik szosty : bleble.do.dods.dsfdsf.bat bat

I w sumie jest ale wyskakuje błąd w linii z tym kodem - $dzialanie = end (explode('.', $plik1)); (Only variables should be passed by reference in C:\wamp\www\OperacjeNaPlikach\operacje_na_plikach.php).
Jak go usunąć, coś nie tak ze składnią jest?

!*!
Musisz podać w end zmienną, a nie funkcje.

  1. $x = explode('.', $file);
  2. $e = end($x);


a poza tym, stosuj pathinfo()
tchoman
Dzięki za szybką pomoc.
Myślałem że taką składnę łyknie, ale jak widać trzeba było dodać 1 linijkę.
Jeszcze raz dzięki smile.gif
!*!
Cytat(tchoman @ 3.09.2012, 13:46:35 ) *
... ale jak widać trzeba było dodać 1 linijkę.


  1. $e = end($x = explode('.', $file));

ale to raczej jako ciekawostka wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.