Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Warning sort() expects
djtomaszq
post 31.12.2015, 11:00:48
Post #1





Grupa: Zarejestrowani
Postów: 188
Pomógł: 0
Dołączył: 5.07.2015

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


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. ?>
Go to the top of the page
+Quote Post
rad11
post 31.12.2015, 11:16:06
Post #2





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


Zmienna $tab jest nullem masz przeciez oczywisty komunikat w czym problem?
Go to the top of the page
+Quote Post
djtomaszq
post 31.12.2015, 11:18:57
Post #3





Grupa: Zarejestrowani
Postów: 188
Pomógł: 0
Dołączył: 5.07.2015

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


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;


Ten post edytował djtomaszq 31.12.2015, 11:20:00
Go to the top of the page
+Quote Post
Tomplus
post 31.12.2015, 11:19:13
Post #4





Grupa: Zarejestrowani
Postów: 1 836
Pomógł: 226
Dołączył: 20.03.2005
Skąd: Będzin

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


zadeklaruj że $tab to tablica przed foreach:

$tab = array();
Go to the top of the page
+Quote Post
djtomaszq
post 31.12.2015, 11:21:29
Post #5





Grupa: Zarejestrowani
Postów: 188
Pomógł: 0
Dołączył: 5.07.2015

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


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
Go to the top of the page
+Quote Post
rad11
post 31.12.2015, 11:22:11
Post #6





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


a var_dump($pliki); co zawiera?
Go to the top of the page
+Quote Post
viking
post 31.12.2015, 11:24:00
Post #7





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Jeszcze kwestia po co 2 razy po tym iterujesz? Posortuj $pliki. W żaden sposób nie obsługujesz sytuacji gdy nie ma plików.


--------------------
Go to the top of the page
+Quote Post
phpion
post 31.12.2015, 11:24:34
Post #8





Grupa: Moderatorzy
Postów: 6 070
Pomógł: 860
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Ś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.
Go to the top of the page
+Quote Post
djtomaszq
post 31.12.2015, 11:44:27
Post #9





Grupa: Zarejestrowani
Postów: 188
Pomógł: 0
Dołączył: 5.07.2015

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


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";



Ten post edytował djtomaszq 31.12.2015, 11:47:03
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: 26.04.2024 - 12:49