Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Warning sort() expects
Forum PHP.pl > Forum > Przedszkole
djtomaszq
Mam skrypt z galeria zdjec w php ktury osobno dziala ok ale jak go podpinam pod strone tak:
  1.  
  2. case "kuchenne":
  3. include_once "plik/galeria/kuchnia/galeria.php";
  4. break;


to wyskakuje błąd:
  1. Warning: sort() expects parameter 1 to be array, null given in C:\Program Files (x86)\...\galeria.php on line 53


linia 53:

  1. sort($tab);


kod php
  1. <?php
  2. $katalog = "obrazki";
  3. $katalogminiaturki = "miniaturki";
  4. $pliki = glob($katalog.'/*.jpg');
  5. //lista plików trafia do tablicy
  6. $i=0;
  7. foreach($pliki as $key => $value){
  8. $tab[$i] = $value;
  9. $i++;
  10. }
  11. sort($tab);
  12. //wyświetlenie listy zgodnie z datą
  13. for($nr = 0; $nr < $i; $nr++){
  14. print '<li><a href="'.$tab[$nr].'" class="highslide" onclick="return hs.expand(this)" rel="nofollow"><img width="200" height="133" src="'.str_replace($katalog, $katalogminiaturki, $tab[$nr]).'" /></a></li>';
  15. }
  16. ?>
rad11
Zmienna $tab jest nullem masz przeciez oczywisty komunikat w czym problem?
djtomaszq
Dlaczego nie wyswietla mi galerii, w tym problem. Pliki galeri osobno działają a po wrzuceniu na serwer ze stroną i podpieciu pod powyższy link jest ten błąd i brak galerii...

Co zrobić żeby galeria się otwierała w ten sposob:
Cytat
case "kuchenne":
include_once "plik/galeria/kuchnia/galeria.php";
break;
Tomplus
zadeklaruj że $tab to tablica przed foreach:

$tab = array();
djtomaszq
Cytat(Tomplus @ 31.12.2015, 11:19:13 ) *
zadeklaruj że $tab to tablica przed foreach:

$tab = array();


Teraz nie ma błędu ale i nie wyświetla zdjęć z folderu, czysta strona
rad11
a var_dump($pliki); co zawiera?
viking
Jeszcze kwestia po co 2 razy po tym iterujesz? Posortuj $pliki. W żaden sposób nie obsługujesz sytuacji gdy nie ma plików.
phpion
Ścieżka do katalogu jest nieprawidłowa. Stąd masz brak zdjęć i miałeś błąd funkcji sort. Najbezpieczniej będziesz gdy podasz pełną ścieżkę bezwzględną (np. /home/...) bo lokalizacja pliku ze skryptem w stosunku do lokalizacji katalogu ze zdjęciami będzie miała znaczenie.
djtomaszq
Cytat(phpion @ 31.12.2015, 11:24:34 ) *
Ścieżka do katalogu jest nieprawidłowa. Stąd masz brak zdjęć i miałeś błąd funkcji sort. Najbezpieczniej będziesz gdy podasz pełną ścieżkę bezwzględną (np. /home/...) bo lokalizacja pliku ze skryptem w stosunku do lokalizacji katalogu ze zdjęciami będzie miała znaczenie.


W tym jest zapewne problem tylko jak mam zmienić lokalizację i w ktorym miejscu w tym kodzie:
  1. <?php
  2. $katalog = "obrazki";
  3. $katalogminiaturki = "miniaturki";
  4. $pliki = glob($katalog.'/*.jpg');
  5. //lista plików trafia do tablicy
  6. $i=0;
  7. $tab = array();
  8. foreach($pliki as $key => $value){
  9. $tab[$i] = $value;
  10. $i++;
  11. }
  12. sort($tab);
  13. //wyświetlenie listy zgodnie z datą
  14. for($nr = 0; $nr < $i; $nr++){
  15. print '<li><a href="'.$tab[$nr].'" class="highslide" onclick="return hs.expand(this)" rel="nofollow"><img width="200" height="133" src="'.str_replace($katalog, $katalogminiaturki, $tab[$nr]).'" /></a></li>';
  16. }
  17. ?>


jeśli wszystkie (osobnoo dzialające) pliki wruciłęm w "katalog plik/galeria/kuchnia" (po wrzuceniu tutaj już nie wyświetla zdjęć.

działam na: http://localhost/~tomek/index.php?str=kuchenne
poprzez tego includa co wyzej

EDIT: DZIAŁA po zamanie:

  1. $katalog = "plik/galeria/kuchnia/obrazki";
  2. $katalogminiaturki = "plik/galeria/kuchnia/miniaturki";

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.