File-ok listázása PHP-vel böngészőben

File-ok listázása PHP-vel böngészőben
2018-04-19T14:37:11+02:00
2018-05-03T15:54:54+02:00
2022-12-05T07:50:36+01:00
Vik80
Akkor az egy kérdés - egy topic elvét követve írom meg a problémát.  :)

Arról lenne szó, hogy ha egy adott mappa file-jait jeleníteném meg webes környezetben, amihez kiválasztok egy mappát a select menüből és táblázatosan megjelennek a file-ok. Ha rákattintok akkor meg is nyílik a párbeszéd ablak, hogy megnyitom vagy mentem-e. Viszont azzal küszködök még, hogy a file egyéb adatait hibásan jelzi ki (feltöltés /módosítás dátuma nem megfelelő, a fileméretre 0 értéket ad....). Elképzelhető, hogy a PHP úgy érzékeli, hogy nincsen feltöltve file, amit ki tudna értékelni, de a file nevét megjeleníti a táblázatos listában a böngészőben?

A php.net-en megtaláltam az ehhez szükséges PHP parancsokat(filemtime, filesize stb), de valamiért
nem ad informatív eredményeket.

Milyen megoldást lehetne még alkalmazni, hogy a file fentebbi adatai is megjelenjenek a táblázatban?

Köszi....
Mutasd a teljes hozzászólást!
1. Ha a kiterjesztés kell, akkor =>

<?php // próbáld így if( filetype($documents) == 'file' ) { $path_parts = pathinfo($documents); $filetype = $path_parts['extension']; } else { $filetype = 'dir'; } print $filetype; ?>
2. Igen ...
Mutasd a teljes hozzászólást!
Csatolt állomány

  • Elképzelhető, hogy a PHP úgy érzékeli, hogy nincsen feltöltve file, amit ki tudna értékelni, de a file nevét megjeleníti...

    Sokkal elképzelhetőbb, hogy valamit elrontottál.

    Ha úgy "érzékelné", hogy nincs feltöltve fájl, amit ki tudna értékelni, akkor miért "érzékelné" mégis a (feltöltött) fájl nevét?

    A lényeg: mutasd  a kódot!


    Szerk (talán hasznos):
    filesize
    "Note: The results of this function are cached. See clearstatcache() for more details."
    Mutasd a teljes hozzászólást!
  • Kilistátod glob-bal és ha már meggyőzödtél róla, hogy file_exists, akkor lehet az finfo_file is...
    Mutasd a teljes hozzászólást!
  • Ha nem ragaszkodsz a saját fejlesztéshez akkor:
    PHP Directory Lister - The Simple Web Directory Lister
    vagy
    GitHub - maysrp/webdir: 网站目录

    Nekem az utóbbi vált be, bár picit át kellett írnom, hogy megfeleljen.
    Mutasd a teljes hozzászólást!
  • Pedig totál egyszerű:

    1 mód a sok közül:
    <?php $filelist = array(); if ($handle = opendir(".")) { while ($entry = readdir($handle)) { if (is_file($entry)) { $filelist[] = $entry; } } closedir($handle); } print_r($filelist);
    Eredmény:
    Array ( [0] => a.php [1] => [AM-A]Painter.of.the.Wind.Special1.HDTV.XviD-Ental-magyar.srt [2] => sookmyeong.(2008).eng.2cd.(3304097).zip [3] => 1.mp4 [4] => Bride.of.the.Century.E01.140222.HDTV.X264-iPOP.mkv.crdownload [5] => [AM-A]Painter.of.the.Wind.Special2.HDTV.XviD-Ental-magyar.srt [6] => 3_make.sh [7] => sookmyeong-english-110351.zip [8] => soo-revenge-for-a-twisted-fate-english-473817.zip [9] => a.barefoot.dream.2010.dvdrip.x264.ac3-baum_0.rar [10] => z1.mp4 [11] => 2.mp4 [12] => sookmyeong.(2008).ger.1cd.(6295930).zip [13] => chronicle_of_a_blood_merchant.srt )
    De végig mehetsz a könyvtáron DirectoryIterator-al is:
    foreach (new DirectoryIterator(__DIR__) as $file) { if ($file->isFile()) { print $file->getFilename() . "\n"; } }
    Mutasd a teljes hozzászólást!
  • Csak példaként egy 2014-ben készült könyvtár/fájl listázó és faszerkezetű megjelenítő (nem table, hanem ul/li) teszt...
    Mutasd a teljes hozzászólást!
  • Szia!

    Csatolom az eddig elkészült kódot a Fileviewer.php-t kell elindítani a böngészőben.....

    A táblázatos megjelenítésben továbbra is csak a file-ok neveit jeleníti meg, viszont a dátumot, a file méretet és a típusokat sajnos nem :(
    Mutasd a teljes hozzászólást!
  • Kérdésként:
    Szerinted mit tartalmaz a => $documents változó
    és mit a következő rész => "../!Mindenkinek/".$_GET["folder"]."/".$files
    és FileTipus oszlopba mit szeretnél file/dir vagy a fájl típusát pl. doc, xls, txt... (kitersjesztését)?
    Mutasd a teljes hozzászólást!
    Csatolt állomány
  • Kiegészítésként:
    Ha nem lenne világos a kérdése(i)m a "FileListing.php" fájllal kapcsolatosak...
    Mutasd a teljes hozzászólást!
  • Észrevétel:
    "Feltöltési hiba! Csak dokumentum típusok (.doc,.xls,.pdf) tölthetőek fel!"
    Ha ez az üzenet egy képfájl feltöltésekor, akkor mégis miért van az hogy utána a listázáskor kiderül => mégis csak sikerült feltölteni?
    Megj: Kicsit az egész rendszered logikáját, felépítését, szerkezetét át kellene nézni (Pl: egy komplett oldal body szekcióban include-ol fájlban miért is van html, head, body szekció?)...

    *********************** Feltöltés link forráskód ************************

    <!DOCTYPE html> <html lang="hu"> <head> <meta charset="UTF-8"/> <title>Heim Pál Gyermekkórház dokumentumtár</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <link rel="stylesheet" href="../css/doc.css"> </head> <body> <div class="page-header"> <a href="FileViewer.php"><span class="glyphicon glyphicon-home"></span></a> <span class="uploadTitle">Dokumentumok feltöltése</span> </div> <form name="folderSel" action="filesUpload.php" Method="GET" > <!DOCTYPE html> <hmtl lang="hu"> <head> <meta charset="UTF-8"> </head> <body> <div class="alert alert-success" role="alert"> <center> 54_213_05_1_1T.pdf sikeresen feltöltésre került a(z) Uj_mappa mappába! </center> </div> </form> </body> </html> <div class="uploadFields"> <div class="cardHeader">Mappa választás</div> <label for="targetFolder">Célmappa</label> <select class="form-control" name="folder" id="folder" onChange="javascript:document.forms.folderSel.submit()"> <option value="Adatszolgaltatas">Adatszolgaltatas</option><option value="ADR">ADR</option><option value="Bella">Bella</option><option value="Formanyomtatvanyok">Formanyomtatvanyok</option><option value="Humanpolitika">Humanpolitika</option><option value="Koltsegvetesek">Koltsegvetesek</option><option value="Rendelesek">Rendelesek</option><option value="Telefonkonyv">Telefonkonyv</option><option value="Test">Test</option><option value="Uj_mappa" selected>Uj_mappa</option> </select> </div> <div class="upToDest"> <div class="cardHeader">File-ok feltöltése</div> <div class="upload"> <form action="" Method="POST" enctype="multipart/form-data"> <input type="file" class="fileChooser" name="docToUpload"> <input type="submit" class="btn btn-primary" value="Feltöltés"/> </form> </div> </div> </form> <div class="footer"> <div class="container"> <p>Dokumentumkezelő rendszer - Heim Pál Országos Gyermekgyógyászati Intézet - &copy; 2018</p> </div> </div> </body> </html>
    Mutasd a teljes hozzászólást!
  • Heim Pál Országos Gyermekgyógyászati Intézet

    Nemnéztem meg a honlapot, de ha így néz ki, akkor no comment.
    Mutasd a teljes hozzászólást!
  • Szia!

    A file típus oszlopba a file típusának kellene kerülnie (.doc, .xls, .ppt stb....).

    Akkor a screenshot szerint neked a megfelelő adatok jelennek meg az adott oszlopokban?

    Köszi....
    Mutasd a teljes hozzászólást!
  • 1. Ha a kiterjesztés kell, akkor =>

    <?php // próbáld így if( filetype($documents) == 'file' ) { $path_parts = pathinfo($documents); $filetype = $path_parts['extension']; } else { $filetype = 'dir'; } print $filetype; ?>
    2. Igen ...
    Mutasd a teljes hozzászólást!
    Csatolt állomány
  • Szia!

    A segítségeid alapján most sikerült és jól jelennek meg a file adatok.

    Köszönöm a sok értékes hozzászólást....:)
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd