vylistovanie obsahu priecinka s ikonkami
12 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
zdravim neviete mi poradit co by som mal zmenit v tomto kode aby mi to pri vylistovavani priradilo k urcitej pripone suboru urcity obrazok? napr ku subor.jpg aby tam ukazalo aj ikonku jpg alebo ku avicku a tak podobne na priecinky som to uz objavil ale tie subory hmmm dakujeeem# <head> <title>Index Page</title> </head> <body bgcolor='black'> <?php function GetDirArray($sPath,&$ret,&$dir) { global $time0, $MAXTIME, $timeover; if ((time()-$time0)>$MAXTIME) { $timeover = 1; return; } $handle=opendir($sPath); while ($file = readdir($handle)) { $polozky[count($polozky)] = $file; } closedir($handle); sort($polozky); while (list($key, $val) = each($polozky)) { if ($val != "." && $val != "..") { $path = str_replace("//","/",$sPath.$val); $path2 = substr($path,2); $ret[count($ret)] = $path2; if (is_dir($sPath."/".$val)) { $dir[count($dir)] = 1; GetDirArray($sPath."/".$val."/",$ret,$dir); } else { $dir[count($dir)] = 0; } } } } $MAXTIME = 60; $time0 = time(); $timeover = 0; $cwd = getcwd(); echo "<H1>Adresar \"$cwd\"</H1><br>\n"; GetDirArray("./",$ret,$dir); if ($timeover) { echo "Provadeni skriptu preruseno,"; echo "uplynul maximalni povoleny cas ($MAXTIME sek.)<br><br>\n"; } while (list($key, $isdir) = each($dir)) { list($key, $file) = each($ret); if($isdir==1) { echo "<img src='dir.jpg'> <a href=\"$file\">$file</a><br>\n"; } } echo "<br><br>\n"; reset($dir); reset($ret); while (list($key, $file) = each($ret)) { list($key, $isdir) = each($dir); if($isdir==0) { echo "<a href=\"$file\">$file</a><br>\n"; } } ?> </body>
-
Nebudu ten kod zkoumat cely - mam jine veci na praci - ale z rychleho nahledu je patrne, ze cesta k souboru je zrejme v promenne $file (nebo mozna $dir.$file) .. a typ souboru muzes zjistit bude pres priponku souboru (posledni text za teckou - napriklad pres funkci explode()).. nebo pres mime typ (php funkce mime_content_type() - a prehled mime-type najdes na webu hodne, staci hledat - napr http://www.utoronto.ca/webdocs/HTMLdocs/Book/Book-3ed/appb/mimetype.html ) .. vykreslit obrázek podle druhu souboru pomocí jednoduchých if podmínek zvládněš ;)
-
>> vykreslit obrázek podle druhu souboru pomocí jednoduchých if podmínek zvládněš ;) ale fuj. radsi to udelat pres pole
-
=Tonik= No,nebo pres pole - zalezi na ocekavanem mnozstvi druhu souboru;) (napr jen pro 2,3 ocekavane druhy to bude imho urcite lepsi (a asi i rychlejsi) pres ify ;)) )
-
no ehmm no tak ratam tam s vacsim mnozstvom druhov suborov takze bude lepsie to pole co? hmm a nejaky napad ako to tam ja tj synonimum slova uplny debil dostanem?
-
ehmmm, ty jedno synonymum, v hlavách máme takovou šedou hmotu, tak ji zkus používat bez záruky jak pracuje to ostatní jsem doplnil: //definice pole pro jména souborů s ikonami - přípony zadávat velkými písmeny $ikony=array( 'JPG'=>'ikona-jpg.png', 'GIF'=>'ikona-gif.png', 'PNG'=>'ikona-png.png', /* a další položky pole */ ); a pak také: //určení proměnné klíč - text za posleední tečkou v proměnné $file $pos = strrpos($file, "."); if ($pos === false) { // note: three equal signs // nenalezena tečka $ikona='ikona-nav.png'; }else{ //nalezena tečka $klic=strtoupper(substr($file,$pos+1)); if (array_key_exists($klic, $ikony)) { $ikona=$ikony[$klic]; }else{ $ikona='ikona-nav.png'; } } takže celkem je to snad tohle: <?php //definice pole pro jména souborů s ikonami - přípony zadávat velkými písmeny $ikony=array( 'JPG'=>'ikona-jpg.png', 'GIF'=>'ikona-gif.png', 'PNG'=>'ikona-png.png', /* a další položky pole */ ); function GetDirArray($sPath,&$ret,&$dir) { global $time0, $MAXTIME, $timeover; if ((time()-$time0)>$MAXTIME) { $timeover = 1; return; } $handle=opendir($sPath); while ($file = readdir($handle)) { $polozky[count($polozky)] = $file; } closedir($handle); sort($polozky); while (list($key, $val) = each($polozky)) { if ($val != "." && $val != "..") { $path = str_replace("//","/",$sPath.$val); $path2 = substr($path,2); $ret[count($ret)] = $path2; if (is_dir($sPath."/".$val)) { $dir[count($dir)] = 1; GetDirArray($sPath."/".$val."/",$ret,$dir); } else { $dir[count($dir)] = 0; } } } } $MAXTIME = 60; $time0 = time(); $timeover = 0; $cwd = getcwd(); echo "<H1>Adresar \"$cwd\"</H1><br>\n"; GetDirArray("./",$ret,$dir); if ($timeover) { echo "Provadeni skriptu preruseno,"; echo "uplynul maximalni povoleny cas ($MAXTIME sek.)<br><br>\n"; } while (list($key, $isdir) = each($dir)) { list($key, $file) = each($ret); if($isdir==1) { echo "<img src='dir.jpg'> <a href=\"$file\">$file</a><br>\n"; } } echo "<br><br>\n"; reset($dir); reset($ret); while (list($key, $file) = each($ret)) { list($key, $isdir) = each($dir); if($isdir==0) { //určení proměnné klíč - text za posleední tečkou v proměnné $file $pos = strrpos($file, "."); if ($pos === false) { // note: three equal signs // nenalezena tečka $ikona='ikona-nav.png'; }else{ //nalezena tečka $klic=strtoupper(substr($file,$pos+1)); if (array_key_exists($klic, $ikony)) { $ikona=$ikony[$klic]; }else{ $ikona='ikona-nav.png'; } } /* tady na tomto místě existuje proměnná $ikona, která obsahuje jméno obrázku, který reprezentuje typ souboru, pokud nalezený klíč není součástí pole $ikony nabídne se jméno ikona-nav.png */ echo "<a href=\"$file\">$file</a><br>\n"; } } ?>
-
hmm no akosi to nefunguje stale je to o tom istom.. mozes kuknut http://modell-models.com/11/img/test.php
-
=duro= ds doufal, ze si ten kod alespon prestes, nez ho zkopirujes .. samozrejme tu ikonku musis taky vypsat (tedy vypsat jeji umisteni .. ) : misto: echo "<a href=\"$file\">$file</a><br>\n"; das napriklad toto: echo "<img src=\"$ikona\" alt="ico"><a href=\"$file\">$file</a><br>\n"; ___ Doufam, ze dalsi dotaz nebude, proc se nezobrazuji (chybí) ikony i kdyz jejich tagy vypsany jsou ..
-
no dalsi j ro s tym errorom. nezistil som ci su alebo niesu tagy ;))
-
=duro= Staci zkontrolovat radek 92 tveho skritpu ;)) Anglicky predpokladam umis :) Jinak chyba bude tady - echo "<img src=\"$ikona\" alt=\"ico\"><a href=\"$file\">$file</a><br>\n"; Zapomel jsem na backslashe u jednich uvozovek .. ;)
-
ahaaa no jasne viem po anglicky a to o tom 92riadku mi doslo ale som myslel ze tam su na houby uvodzovky a ked som ich prehodil tak mi premenovalo kazdy subor na $file a ikonky tam aj tak neboli...tak diky ja to idem vyskusat
-
Gr8 fungujeeee tooo dakujeeeem