Autor | Zpráva | ||
---|---|---|---|
Pan X Profil |
#1 · Zasláno: 21. 11. 2009, 11:42:54
Zdravím, prosím vás, mám script na výpis souborů (nepsal jsem ho, je součásti jednoho wysiwyg editoru) potřebuji ten výpis sežadit podle abecedy, ale nevede se mi to. Nemůžu se v tom scriptu vyznat.
Mohl by mi někdo poradit? Díky Script <?php include('config.php'); include('fCopy.php'); include('fDelete.php'); $nextData = ''; function error($msg){ //$msg = addslashes($msg); die('{status:0, msg:"'.$msg.'"}'); } if(!isset($_POST['dir']) || !isset($_POST['action'])) error('nebyl zadán adresář nebo akce'); if(strpos($_POST['dir'], '../') !== false) error('nelze přejít o adresář nahoru: '. strpos('../', $_POST['dir']).' '.$_POST['dir']); $adresa = $cfg['root']; if(substr($cfg['root'], -1) != '/') $adresa .= '/'; $adresa2 = $_POST['dir']; if(substr($adresa2, -1) != '/') $adresa2 .= '/'; $adresa .= $adresa2; if($_POST['action'] == "rename" && isset($_POST['file']) && isset($_POST['name'])){ $nazev = $_POST['name']; $file = $_POST['file']; if(empty($nazev)) error('Nebyl zadán žádný název.'); if(strpos($nazev, '..') !== false) error("Název nesmí obsahovat znaky ../"); if(!file_exists($cfg['root'].'/'.$file)) error('Soubor, který chcete přejmenovat neexistuje.'); if(file_exists($adresa.'/'.$nazev)) error('Soubor s tímto názvem již existuje.'); if(!rename($cfg['root'].'/'.$file, $adresa.'/'.$nazev)) error('Soubor se nepovedlo přejmenovat.'); } if($_POST['action'] == "newDir" && isset($_POST['name'])){ $sl = $adresa.'/'.$_POST['name']; $adresare = explode('/', $sl); $sl = implode(DIRECTORY_SEPARATOR, $adresare); if(is_dir($sl)) error('Složka z daným názvem již existuje'); if(@!mkdir($sl, 0777)) error('Složku se nepovedlo vytvořit'); } if($_POST['action'] == "paste" && isset($_POST['files']) && isset($_POST['type']) && isset($_POST['start'])){ $pasteData = ''; if(!is_numeric($_POST['start'])) $_POST['start'] = -1; for($i = 0; $i < count($_POST['files']); $i++){ if($i < $_POST['start']) continue; if(isset($_POST['skip'])){ unset($_POST['skip']); $_POST['start'] = -1; continue; } $src = $cfg['root'].'/'.$_POST['files'][$i]; $newSrc = $adresa.'/'.basename($_POST['files'][$i]); //error($_POST['start'].' :: '.$i); // error((is_file($newSrc) || is_dir($newSrc)).' :: '.($_POST['start'] != $i && $_POST['start'] != -2)); if((is_file($newSrc) || is_dir($newSrc)) && $_POST['start'] != $i && $_POST['start'] != -2){ $pasteData .= 'pasteObj:{ok:false, position:'.$i.', goingLink:"'.basename($_POST['files'][$i]).'"},'; break; } //error($src . ' :: ' . $newSrc); copyFiles($src, $adresa) or error('Soubor '.basename($_POST['files'][$i]).' se nepovedlo zkopírovat.\n\nKopírování bylo zrušeno.', true); //copy($src, $newSrc) or error('Soubor '.basename($_POST['files'][$i]).' se nepovedlo zkopírovat.\n\nKopírování bylo zrušeno.'); if($_POST['type'] == 'cut') deltree($src); } if($pasteData == '') $pasteData = 'pasteObj:{ok:true},'; $nextData .= $pasteData; } if($_POST['action'] == "delete" && isset($_POST['files'])){ for($i = 0; $i < count($_POST['files']); $i++){ $src = $cfg['root'].'/'.$_POST['files'][$i]; deltree($src) or error('Soubor '.basename($_POST['files'][$i]).' se nepovedlo odstranit.\n\Akce byla zrušena.'); } } //if($_POST['action'] == "display"){ $slozky = array(); $soubory = array(); $slozky2 = array(); $soubory2 = array(); if($_POST['dir'] != './') $slozky[] = '..'; $slozky2 = $slozky; function search($adresa, $adresa2, &$slozky, &$soubory, &$slozky2, &$soubory2, $search = false){ if(!is_dir($adresa)) error('Adresář, '.$adresa.' neexistuje.'); $dir = opendir($adresa) or error('Adresář, '.$adresa.' se nepovedlo otevřít.'); while($soubor = readdir($dir)){ if($soubor == "." || $soubor == "..") continue; if(is_dir($adresa.'/'.$soubor)){ if($search === false || strpos($soubor, $search) !== false){ $slozky[] = $adresa.$soubor; $slozky2[] = $adresa2.$soubor; } if($search !== false) search($adresa.'/'.$soubor.'/', $adresa2.'/'.$soubor.'/', $slozky, $soubory, $slozky2, $soubory2, $search); }else{ if($search === false || strpos($soubor, $search) !== false){ $soubory[] = $adresa.$soubor; $soubory2[] = $adresa2.$soubor; } } } } if(isset($_POST['search'])) search($adresa, $adresa2, $slozky, $soubory, $slozky2, $soubory2, $_POST['search']); else search($adresa, $adresa2, $slozky, $soubory, $slozky2, $soubory2); echo '{'; echo 'dirs:['; $pocet = 0; for($i = 0; $i < count($slozky); $i++){ if($i != 0) echo ','; echo '{name:"'.$slozky2[$i].'", size:'.filesize($slozky[$i]).', time:'.filemtime($slozky[$i]).'}'; } echo '],'; echo 'files:['; for($i = 0; $i < count($soubory); $i++){ if($i != 0) echo ','; echo '{name:"'.$soubory2[$i].'", size:'.filesize($soubory[$i]).', time:'.filemtime($soubory[$i]).'}'; //echo '{name:"'.$soubory[$i].'", size:'.filesize($adresa.$soubory[$i]).', time:'.date('G:i:s j.n.Y', 1220301236).'}'; //echo '{name:"'.$soubory[$i].'", size:'.filesize($adresa.$soubory[$i]).', time:'.date('G:i:s j.n.Y', filemtime($adresa.$soubory[$i])).'}'; } echo '],'; echo 'status:1,'; echo $nextData; echo 'actualDir:"'.$_POST['dir'].'"'; echo '}'; //} ?> Předem díky všem. |
||
Joker Profil |
#2 · Zasláno: 21. 11. 2009, 11:59:34 · Upravil/a: Joker
Pan X:
Jestli to dobře chápu, tak funkce search() vrací do $soubory pole názvů souborů... takže by snad jen stačilo setřídit to pole pomocí sort |
||
Časová prodleva: 14 let
|
0