Avatar
Noko
Redaktor
Avatar
Noko:

Dobrý den,
potřebuji pomoct se skriptem na výpis souborů a představuju si to takto:
bude tam třeba složka fotky a když se na ni klikne tak se zobrazí její obsah takto:

obrázky
fotky

  • foto.jpg
  • foto.jpg
  • foto.jpg

soubory

chápete? já fakt nevím jak na to... V PHP začínám...

 
Odpovědět 30.8.2015 12:03
Avatar
Odpovídá na Noko
Martin Konečný (pavelco1998):

Ahoj,

zkus se podívat na funkci dir() - http://php.net/…tion.dir.php
případně scandir() - http://php.net/….scandir.php

způsobů bude víc, přesný script ti z hlavy nenapíšu, ale jsou tam i ukázky

 
Nahoru Odpovědět  +1 30.8.2015 12:28
Avatar
Noko
Redaktor
Avatar
Odpovídá na Martin Konečný (pavelco1998)
Noko:

to mi bohužel moc nepomůže, nejsem kamarád s angličtinou. :-)
Víc by se hodil hotový skript, už se o to pokouším týden a poříd mi to nejde napsat ani vygooglit, jak říkám jsem začátečník.
Tak kdyby se našla nějaká dobrá duše...

 
Nahoru Odpovědět 30.8.2015 12:36
Avatar
Noko
Redaktor
Avatar
Odpovídá na Josef Kuchař (Pepa489)
Noko:

to ne já jsem myslel že když kliknu na složku neco tak se zobrazí její obsah ale tak že se "rozbalí" a soubory v adresáři ve kterém je složka neco tam taky zůstanou takže:

index.php
clanky

  • clanek1.php
  • clanek2.php

css

  • index.css
  • clanek.css

dalsi.soubor.html

 
Nahoru Odpovědět 30.8.2015 12:49
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na Noko
Daniel Vítek:

A potřebuješ to programovat? Nestačí ti například http://elfinder.org ?

Editováno 30.8.2015 13:25
 
Nahoru Odpovědět 30.8.2015 13:24
Avatar
Noko
Redaktor
Avatar
Odpovídá na Daniel Vítek
Noko:

Ten elfinder je nanic, lepší bude vlastní skript.

 
Nahoru Odpovědět  ±0 30.8.2015 14:03
Avatar
katrincsak
Člen
Avatar
Odpovídá na Noko
katrincsak:

Jestli začínáš, tak se možná zkus zaměřit na něco primitivnějšího a i pro tebe to bude jednodušší, protože budeš chápat celý proces a posune tě to dále i v jiných dalších souvislostech.

Editováno 30.8.2015 14:34
 
Nahoru Odpovědět 30.8.2015 14:34
Avatar
katrincsak
Člen
Avatar
Odpovídá na Noko
katrincsak:

Tady máš odkaz na kompletní výpis fotek zadané složky včetně změny velikosti..
http://www.itnetwork.cz/…5da323216540

Tohle ti minimálně napoví jak udělat výpis fotek z dané složky ;-) Pak už stačí jen číst i všechny složky ;-)

 
Nahoru Odpovědět 30.8.2015 14:37
Avatar
ymory
Člen
Avatar
ymory:

myslíč něco jako toto?

<script>
            var zobrazeno = new Array();
            function zobrazSkryj(co) {
                if (zobrazeno[co] == true) {
                    document.getElementById(co).style.display = "none";
                    zobrazeno[co] = false;
                }
                else {
                    document.getElementById(co).style.display = "block";
                    zobrazeno[co] = true;
                }
                return false;        // zrušení vykonání odkazu
            }
        </script>

        <div id="menu1">
            <?php
            $dir = scandir('../testy'); // načtení souborů ze složky clanek
            foreach ($dir as $d) {
                if ($d != "." && $d != "..") {
                    if (is_dir($d)) {
                        $dir1 = scandir($d);
                        ?>
                        <a href="" onclick="return zobrazSkryj('<?php echo $d; ?>')"><?php echo $d; ?></a><br>
                        <ul id="<?php echo $d; ?>" style="display:none;">
                            <?php
                            foreach ($dir1 as $c) {
                                if ($c != "." && $c != "..") {
                                    ?> <li> <?php echo $c; ?> </li>
                                    <?php
                                }
                            }
                            ?></ul>
                            <?php
                        } else {
                            ?> <li> <?php echo $d; ?> </li><?php
                        }
                    }
                }
                ?>
        </div>
 
Nahoru Odpovědět  +1 30.8.2015 15:34
Avatar
Noko
Redaktor
Avatar
Odpovídá na ymory
Noko:

něco takového, ale aby šla otevřít i třeba šestá složka v pořadí.

 
Nahoru Odpovědět 30.8.2015 16:25
Avatar
Noko
Redaktor
Avatar
Odpovídá na Noko
Noko:

A byly tam odkazy na soubory třeba když ve složce neco/ bude soubor /index.php a kliknu na něj tak mě to pošle na cokoli.cz/neco/in­dex.php

 
Nahoru Odpovědět 30.8.2015 17:28
Avatar
00
Člen
Avatar
00:

Použij rekurzi.

<?php
function Slozka($sl) {
echo '<ul>';
foreach (scandir($sl) as $f) {
if($f=='.'or$f=='..')continue;
echo '<li>'.htmlspecialchars($f);
if (!is_file($f))
Slozka($f);
echo '</li>';
}
echo '</ul>';

}

A spustit:

Slozka('.');

Bohuzej jen na mobilu. Ompouvam se predem za pripadnw chaby.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět  +2 20.9.2015 19:54
Avatar
00
Člen
Avatar
Odpovídá na 00
00:

To na konci bylo psane na rychlo.

 
Nahoru Odpovědět 21.9.2015 18:33
Avatar
TomasGlawaty
Člen
Avatar
Odpovídá na Noko
TomasGlawaty:

Pochopil jsem z toho, že chceš pouze vypisovat obsah adresáře/adresářů, takže jakoby takový 'strom' ?
V tom případě souhlasím s 00 , koukni se po rekurzi ( nejčastěji je to funkce, která volá sama sebe )
:)

Nahoru Odpovědět  +1 21.9.2015 20:13
Člověk může dosáhnout čeho si zamane. Jen musí chtít, případně něco obětovat ...
Avatar
00
Člen
Avatar
Odpovídá na 00
00:

bohuzel JSEM jen na mobilu.

:-|
 
Nahoru Odpovědět 21.9.2015 21:22
Avatar
00
Člen
Avatar
Odpovídá na Noko
00:

Bez rekurze to by šlo také, přes cykly a zásobník. Asi.

 
Nahoru Odpovědět 21.9.2015 21:24
Avatar
00
Člen
Avatar
Odpovídá na 00
00:

Sám jsem to resil pouze jednou. Byly to statické stránky a měla tam nýt možnost stáhnout si určitou stránku soubor po souboru. A také to byla taková mapa sítě.

Vylepšení:

<?php
function Slozka($sl) {
echo '<ul>';
foreach (scandir($sl) as $f) {
if($f=='.'or$f=='..') continue; // tato a nadřazená složka
echo '<li>';
if (is_file($f))
echo '<a href="'.htmlspecialchars($f).'" >';
echo htmlspecialchars($f);
if (is_file($f)) echo '</a>';
if (!is_file($f))
Slozka($sl.'/'.$f);
 echo '</li>';
 }
echo '</ul>';
}

Možná jde, možmá tam je chyba.

 
Nahoru Odpovědět 21.9.2015 21:36
Avatar
00
Člen
Avatar
Odpovídá na ymory
00:

Šlo ny to zkrátit a (jestli jsem to četl správně) přidat možmost více úrovní.

 
Nahoru Odpovědět 21.9.2015 21:39
Avatar
00
Člen
Avatar
Odpovídá na 00
00:

A to rozbalování vyřešil ymory .

Mě to stačilo takhle + tagy head, body, ...

 
Nahoru Odpovědět 21.9.2015 21:46
Avatar
Noko
Redaktor
Avatar
Odpovídá na 00
Noko:

Všem díky ze snahu, ale já jsem si už udělal vlastní.

 
Nahoru Odpovědět  -4 22.9.2015 7:02
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na Noko
Daniel Vítek:

Mohl by jsi napsat, jakým způsobem jsi to vyřešil?

 
Nahoru Odpovědět  +2 30.9.2015 21:49
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 22 zpráv z 22.