Diskuze: PHP výpis souborů
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 22 zpráv z 22.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
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
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...
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
css
dalsi.soubor.html
A potřebuješ to programovat? Nestačí ti například http://elfinder.org ?
Ten elfinder je nanic, lepší bude vlastní skript.
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.
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 
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>
něco takového, ale aby šla otevřít i třeba šestá složka v pořadí.
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/index.php
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.
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 )

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.
Šlo ny to zkrátit a (jestli jsem to četl správně) přidat možmost více úrovní.
A to rozbalování vyřešil ymory .
Mě to stačilo takhle + tagy head, body, ...
Mohl by jsi napsat, jakým způsobem jsi to vyřešil?
Zobrazeno 22 zpráv z 22.
