Autor Zpráva
kharn
Profil *
Dobrý den,
mám problém se scriptem, který mi vypisuje obrázky ze složky. Na localhostu mi funguje bez problému, ale po té co to nahraji na web mi to vypíše chybu

Warning: array_merge() [function.array-merge]: Argument #2 is not an array in /var/www/web5/masozrave.com/masozrave.com/ahoj/content/fotogalerie.php on line 21

Warning: array_merge() [function.array-merge]: Argument #3 is not an array in /var/www/web5/masozrave.com/masozrave.com/ahoj/content/fotogalerie.php on line 21

Warning: Invalid argument supplied for foreach() in /var/www/web5/masozrave.com/masozrave.com/ahoj/content/fotogalerie.php on line 23


script:

$array_fotky = array_merge(glob("fotogalerie/*.jpg"), glob("fotogalerie/*.JPG"), glob("fotogalerie/*.PNG"));

foreach ($array_fotky as $up_fotky){
echo "<a href=\"$up_fotky\" target=\"_blank\"><img src=\"$up_fotky\" width=\"100\" height=\"100\" border=\"0\"></a>";
}

keeehi
Profil
Argument #2 is not an array = agument 2 není pole

glob("fotogalerie/*.JPG"), glob("fotogalerie/*.PNG") asi nevrátilo pole ale false -> možná že ve složce fotogalerie není žádná fotka s s .JPG

a s tím souvisí si třetí chyby, která je důsledkem chyby funkce array_merge -> nevrátilo se pole, takře proto nefunguje ani foreach.


Testuj, co vracejí funkce glob(), a pokud to budou pole, tak je pak můžeš sloučit.
kharn
Profil *
Fotky s JPG a PNG ve složce nejsou mě překvapuje, že na localhostu to jde. To už jsem zkoušel vypsat první glob mi vypíše array a zbylí se nevypíšou
DJ Miky
Profil
keeehi ti už odpověděl. Testuj, co ti vrací glob():
$fotky1 = glob("fotogalerie/*.jpg");
if(!is_array($fotky1)) $fotky1 = array();
$fotky2 = glob("fotogalerie/*.JPG");
if(!is_array($fotky2)) $fotky2 = array();
$fotky3 = glob("fotogalerie/*.PNG");
if(!is_array($fotky3)) $fotky3 = array();

$array_fotky = array_merge($fotky1, $fotky2, $fotky3);
kharn
Profil *
Tak to se omlouvám pochopil jsem od keeehi jinak. Díky za pomoc

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0