NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: PHP - zobrazuje každý obrázek 4krát

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
lukas.sei
Člen
Avatar
lukas.sei:4.2.2016 20:21

Čaute,
Udělal jsem si v PHP jednoduchý skript, který za mě do HTML nainportuje všechny fotky z jedné složky. Ale narazil jsem na problém. Jakmile ten script spustím, každý obrázek se mi zobrazí 4x.
Mohl by mi s tím někdo pomoct ?
Kód:

<?php
    $slozka =        'album1';
    $slozkaNahled = 'album1/nahled';
    $soubor_zobraz = array('jpg', 'jpeg', 'png', 'gif');

    if (file_exists($slozka) == false) {
    echo 'Složka \''. $slozka. '\' nenalezena!';
    } else {
    $slozka_obsah = scandir($slozka);


    if (file_exists($slozkaNahled) == false) {
    echo 'Složka \''. $slozkaNahled. '\' nenalezena!';
    } else { //jinak
    $slozka_obsahNahled = scandir($slozkaNahled);


    foreach ($slozka_obsah as $soubor) {
      $file_type = strtolower(end(explode('.', $soubor)));


    foreach ($slozka_obsahNahled as $souborNahled) {
      $file_type = strtolower(end(explode('.', $souborNahled)));


     if ($soubor !== '.' && $soubor !== '..' && in_array($file_type, $soubor_zobraz) == true)
{
            echo '<a href="'. $slozka. '/'. $soubor. '"/><img src="'. $slozkaNahled. '/'. $souborNahled. '"/></a>';
     }
    }
    }
    }
    }
?>
 
Odpovědět
4.2.2016 20:21
Avatar
Richard
Člen
Avatar
Odpovídá na lukas.sei
Richard:4.2.2016 20:56

Proč máš foreach pro $slozka_obsah a v něm ještě foreach pro $slozka_obsahNahled ? Proto se ti to ukazuje vícekrát.

Editováno 4.2.2016 20:56
Nahoru Odpovědět
4.2.2016 20:56
$action = $_GET['Life']; | Když dáš mínus, napiš proč!
Avatar
lukas.sei
Člen
Avatar
Odpovídá na Richard
lukas.sei:5.2.2016 5:55

Aha a jak to teda mám napsat ?

 
Nahoru Odpovědět
5.2.2016 5:55
Avatar
vajkuba1234
Člen
Avatar
Odpovídá na Richard
vajkuba1234:5.2.2016 13:19

Nebude problem i v te posledni podmince? Konkretne v tech operatorech?

Nahoru Odpovědět
5.2.2016 13:19
No hope, no future, JUST WAR!
Avatar
lukas.sei
Člen
Avatar
Odpovídá na vajkuba1234
lukas.sei:5.2.2016 15:15

No já právě nevím. Proto jsem se přišel zeptat vás. :D Nebo pokud zná někdo nějaký jiný způsob, jak tohohle docílit, jsem otevřen všem nápadům.

 
Nahoru Odpovědět
5.2.2016 15:15
Avatar
lukas.sei
Člen
Avatar
lukas.sei:5.2.2016 16:43

Nakonec jsem to vyřešil takhle:

<?php
    $slozka =        'album1';
    $soubor_zobraz = array('jpg', 'jpeg', 'png', 'gif');

    if (file_exists($slozka) == false) {
    echo 'Složka \''. $slozka. '\' nenalezena!';
    } else {
    $slozka_obsah = scandir($slozka);


    foreach ($slozka_obsah as $soubor) {
      $file_type = strtolower(end(explode('.', $soubor)));


     if ($soubor !== '.' && $soubor !== '..' && in_array($file_type, $soubor_zobraz) == true)
{
            echo '<a href="'. $slozka. '/'. $soubor. '"/><img src="'. $slozka.'_nahled/'. $soubor.'"/></a>';
     }
    }
    }
?>
Editováno 5.2.2016 16:44
Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět
5.2.2016 16:43
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.