rogerss_7 0 Denunciar post Postado Abril 27, 2007 Gente é o seguinte, consegui um código bem interessante na net, to reeditando aos poucos, pois o mesmo encontra-se em Estoniano (ETA!!). É um código sobre listagem de diretórios, podendo abrir subpastas e listar seus arquivos, fazer upload e agora to tentando colocar a função excluir (essa é a ajuda), sendo que já está configurado com permissão 0777. É um super script, gostaria da ajuda de todos, com certeza via servir pra todo mundo. <?php$kataloog = ".";$ava_uues_aknas = 0;$max_space = 25600;$dir_levels = 1;$kuva_index = 0; $charset = "UTF-8"; /* padrão unicode */$icons = array("asp", "avi", "bmp", "chm", "css", "doc", "exe", "gif", "gz", "htm", "html", "jpg", "jpeg", "js", "jsp", "mov", "mp3", "mpeg", "mpg", "pdf", "php", "png", "ppt", "rar", "sql", "txt", "wav", "wmv", "xls", "xml", "xsl", "zip", "psd");$varjatud_kaustad = array("icons");$excecoes = array(".ftpquota", "index.php", "error_log");$parool = "";$aadress_serveris = "";$lang_pt = array("file_name" => "Nome do arquivo","size" => "Tamanho","delete" => "Ação","last_changed" => "Enviado","total_used_space" => "Espaço usado","free_space" => "Espaço livre","password" => "Senha","upload" => "Upload","failed_upload" => "Erro ao enviar o arquivo!","failed_move" => "Erro ao copiar o arquivo para este diretório!","wrong_password" => "Senha inválida");$lang = $lang_pt; /* escolhe o tipo de idioma */function css(){?><style type="text/css">BODY {background-color:#FFFFFF;}A {color: #000000;text-decoration: none;}A:hover {text-decoration: underline;}#raam {width:680px;padding:3px;border: 1px dotted #CDD2D6;text-align:left;position: relative;margin: 0 auto;}#infoala {color:#000000;font-family:Verdana;font-size:10px;width:680px;position: relative;margin: 0 auto;text-align:center;}#upload {color:#000000;font-family:Verdana;font-size:10px;width:680px;position: relative;margin: 0 auto;text-align:center;}#veateade{width:300px;background-color:#FFE4E1;font-family:Verdana;font-size:10px;color:#000000;padding:7px;position: relative;margin: 10px auto;text-align:center;border: 1px dotted #CDD2D6;}input{font-family:Verdana;font-size:10px;border: 1px solid #CDD2D6;}.tabel {width: 680px; font-family: Verdana; font-size: 11px;}.rida_yks {background-color:#fcfdfe;}.rida_kaks {background-color:#f8f9fa;}</style><?php}function Failisuurus($suurus) {$suurused = Array('B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB');$yh = $suurused[0];for ($i=1; (($i < count($suurused)) && ($suurus >= 1024)); $i++) {$suurus = $suurus / 1024;$yh = $suurused[$i];}return round($suurus, 2)." ".$yh;}function Faililaiend($fail){$a = explode(".", $fail);$b = count($a);return $a[$b-1];}function Failimuut($aeg){return date ("d.m.y H:i:s", $aeg);}function Failiikoon($l){$l = strtolower($l);global $icons;if(in_array($l, $icons)){return "icons/".$l.".gif";}elsereturn "icons/tundmatu.gif";}function Teenool($sort_by, $sort_as, $type, $dir){if($sort_by == $type && $sort_as == "desc"){return "<a href=\"?dir=".$dir."&sort_by=".$type."&sort_as=asc\"><img style=\"border:0;\" alt=\"asc\" src=\"icons/nool_y.gif\" /></a>";}elsereturn "<a href=\"?dir=".$dir."&sort_by=".$type."&sort_as=desc\"><img style=\"border:0;\" alt=\"desc\" src=\"icons/nool_a.gif\" /></a>";}function nimi_cmp_desc($a, $b){ return strcmp($a["nimi"], $b["nimi"]);}function suurus_cmp_desc($a, $b){return ($a["suurus"] - $b["suurus"]);}function suurus_cmp_asc($b, $a){return ($a["suurus"] - $b["suurus"]);}function muut_cmp_desc($a, $b){return ($a["muudetud"] - $b["muudetud"]);}function muut_cmp_asc($b, $a){return ($a["muudetud"] - $b["muudetud"]);}function nimi_cmp_asc($b, $a){return strcmp($a["nimi"], $b["nimi"]);}function sum_dir($start_dir, $ignore_files, $levels = 1) {if ($dir = opendir($start_dir)) {while ((($file = readdir($dir)) !== false)) {if (!in_array($file, $ignore_files)) {if ((is_dir($start_dir . '/' . $file)) && ($levels - 1 >= 0)) {$levels -= 1;$filesize += sum_dir($start_dir . '/' . $file, $ignore_files, $levels);} elseif (is_file($start_dir . '/' . $file)) {$filesize += filesize($start_dir . '/' . $file) / 1024;}}}closedir($dir);return $filesize;}}function ylemine_kataloog($dir){$tykid = explode("/", $dir);$arv = count($tykid);$tykid2 = array();for($i = 0; $i < $arv - 1; $i++){$tykid2[$i] = $tykid[$i];}$dir2 = implode("/", $tykid2);return $dir2;}if(!$_GET["dir"]) $dir = $kataloog;else{if(ereg("\.\.(.*)", $_GET["dir"]) || $_GET["dir"][0] == '/'){$dir = $kataloog;$ylemine_dir = "";}else{$dir = $_GET["dir"];$ylemine_dir = ylemine_kataloog($dir);}}$veateade = NULL;if($_FILES['userfile']['name']){if($parool && $_POST['parool'] == $parool){$nimi = basename($_FILES['userfile']['name']);if(get_magic_quotes_gpc())$nimi = stripslashes($nimi);$uploaddir = ($aadress_serveris?$aadress_serveris:dirname($_SERVER['SCRIPT_FILENAME']))."/".$dir."/";$uploadfile = $uploaddir . $nimi;if(!is_uploaded_file($_FILES['userfile']['tmp_name'])){$veateade = $lang["failed_upload"];}if(!@move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)){$veateade = $lang["failed_move"];}elsechmod($uploadfile, 0777);}else$veateade = $lang["wrong_password"];}//// Loeme failide ja kaustade andmed//if($avakaust = @opendir($dir)){$i = 0;while ($asi = readdir($avakaust)) {if($asi != "." && $asi != "..") {if(is_dir($dir."/".$asi)){if(!in_array($asi, $varjatud_kaustad))$kaustad[] = htmlspecialchars($asi);}else if(!in_array($asi, $excecoes)){$failid[$i]["nimi"] = htmlspecialchars($asi);$asi = $dir."/".$asi;$failid[$i]["laiend"] = Faililaiend($asi);$failid[$i]["suurus"] = filesize($asi);$failid[$i]["muudetud"] = filemtime($asi);$i++;}}}closedir($avakaust);//// Sorteerime failid ja kaustad. Vaikimisi sorteeritakse nime järgi.//if($failid || $kaustad){if($_GET["sort_by"] == "nimi" && $_GET["sort_as"] != "asc"){@sort($kaustad);@usort($failid, "nimi_cmp_desc");}elseif($_GET["sort_by"] == "nimi" && $_GET["sort_as"] == "asc"){@rsort($kaustad);@usort($failid, "nimi_cmp_asc");}elseif($_GET["sort_by"] == "suurus" && $_GET["sort_as"] != "asc" && $failid){usort($failid, "suurus_cmp_desc");}elseif($_GET["sort_by"] == "suurus" && $_GET["sort_as"] == "asc" && $failid){usort($failid, "suurus_cmp_asc");}elseif($_GET["sort_by"] == "muudetud" && $_GET["sort_as"] != "asc" && $failid){usort($failid, "muut_cmp_desc");}elseif($_GET["sort_by"] == "muudetud" && $_GET["sort_as"] == "asc" && $failid){usort($failid, "muut_cmp_asc");}else{@sort($kaustad);@usort($failid, "nimi_cmp_desc");}}//// Algab lehe HTML//?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html><head><?php css(); ?><meta content="text/html; charset=<?php print $charset; ?>" http-equiv="content-type" /><title>Explorer</title></head><body><?php /* mostra as mensagens de alerta */if($veateade){?><div id="veateade"><?php print $veateade; ?></div><?php}?><div id="raam"><!-- ALGAB LISTITABEL --><table class="tabel" border="0" cellpadding="3" cellspacing="0"><tr class="rida_yks"><td width="36" style="width:25px;"> </td><td width="197"><?php print $lang["file_name"]; ?><?php echo Teenool($_GET["sort_by"], $_GET["sort_as"], "nimi", $dir);?></td><td width="167"><span style="width: 100px; text-align: right;"><?php print $lang["delete"]; ?> <?php echo Teenool($_GET["sort_by"], $_GET["sort_as"], "nimi", $dir);?></span></td><td width="100" style="width: 100px; text-align: right;"><?php print $lang["size"]; ?> <?php echo Teenool($_GET["sort_by"], $_GET["sort_as"], "suurus", $dir); ?></td><td width="150" style="width: 150px; text-align: center;"><?php print $lang["last_changed"]; ?><?php echo Teenool($_GET["sort_by"], $_GET["sort_as"], "muudetud", $dir); ?></td></tr><tr class="rida_kaks"><td style="width: 25px;"><img alt="tipo" src="icons/dir.gif" /></td><td><a href="?dir=<?php print $ylemine_dir; ?>">..</a></td><td> </td><td> </td><td> </td></tr><?php//// Kaustade ja failide kuvamine algab//$rida = 1;//// Kuvame kaustad//if($kaustad){foreach ($kaustad as $kaust){$rida_stiil = ($rida ? "rida_yks" : "rida_kaks");?><tr class="<?php echo $rida_stiil; ?>"><td style="width: 25px;"><img alt="tipo" src="icons/dir.gif" /></td><td><?php echo "<a href=\"?dir=".$dir."/".$kaust."\">".$kaust."</a>"; ?></td><td> </td><td> </td><td> </td></tr><?php$rida=!$rida;}}//// Kuvame failid//if($failid){foreach ($failid as $fail){$rida_stiil = ($rida ? "rida_yks" : "rida_kaks");?><tr class="<?php echo $rida_stiil; ?>"><td style="width: 25px;"><img alt="tipo" src="<?php echo Failiikoon($fail["laiend"]); ?>" /></td><td><?phpecho "<a href=\"".$dir."/".$fail["nimi"]."\"";if($ava_uues_aknas)echo "target=\"_blank\"";echo ">".$fail["nimi"]."</a>"; ?></td><td><span style="width: 100px; text-align: right;">Excluir</span></td><td style="text-align: right;"><?php echo Failisuurus($fail["suurus"]); ?></td><td style="text-align: center;"><?php echo Failimuut($fail["muudetud"]);?></td></tr><?php$rida=!$rida;}}}//// Kaustade ja failide kuvamine lõppeb//?></table><!-- LOPPEB LISTITABEL --></div><?phpif($parool){?><!-- ALGAB UPLOADI ALA --><div id="upload"><form enctype="multipart/form-data" action="" method="post"><table width="100%" border="0" cellpadding="10" cellspacing="0" bgcolor="#FFE4E1"> <tr> <td colspan="2" align="left"><center> Enviar arquivos para este diretório. </center></td> </tr><tr><td align="left"><?php print $lang["password"]; ?>: <input type="password" name="parool" /></td><td align="right"> <input name="userfile" type="file" /> <input type="submit" value="<?php print $lang["upload"]; ?>" /></td></tr></table></form></div><!-- LÕPPEB UPLOADI ALA --><?php}?><!-- ALGAB INFOALA --><div id="infoala"><?php//// Konto suuruse arvutamine//$ignore_files = array('..', '.'); $start_dir = getcwd();$size = sum_dir($start_dir, $ignore_files, $dir_levels);$remaining = $max_space - $size;$kokku = round($size/1024, 3);$jargi = round($remaining/1024, 3);?><?php print $lang["total_used_space"]; ?>: <?php print $kokku; ?> MB | <?php print $lang["free_space"]; ?>: <?php print $jargi; ?> MB</div><!-- LOPPEB INFOALA, v3.3 --></body></html> Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Abril 27, 2007 Coloque isso no começo do script para voce ver os erros melhor e arrumar: ini_set("display_errors", 1); error_reporting(E_ALL); Compartilhar este post Link para o post Compartilhar em outros sites
rogerss_7 0 Denunciar post Postado Abril 27, 2007 opa, vlw Fabyo pela dica, realmente não lembrei do error_reporting, aproveitando o espaço me diz uma coisa, tu que é um cara super expert em matéria de programação, acha que vale a pena nós mexermos neste script? eu achei ele super interessante? Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Abril 27, 2007 Eu nao achei legal, mas se voce gostou vale a pena você mecher nele dai você aprende coisas novas e faz o que quer fazer. Compartilhar este post Link para o post Compartilhar em outros sites
rogerss_7 0 Denunciar post Postado Abril 27, 2007 sim é lógico, vou mexer mesmo, depois crio outro muito mais resumido, tem um detalhe, realmente não sei como fazer aqui a função pra excluir o arquivo, será que vocês podem ajudar? vlw. Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Abril 27, 2007 qual sua duvida em relação a excluir? Compartilhar este post Link para o post Compartilhar em outros sites
rogerss_7 0 Denunciar post Postado Abril 27, 2007 eu quero reaproveitar as funções que já existem neste script, já tem a escolha do diretório, loop de pastas e arquivos mas não estou conseguindo visualizar onde colocar a função pra fazer o unlink e parâmetros. Compartilhar este post Link para o post Compartilhar em outros sites
rogerss_7 0 Denunciar post Postado Abril 27, 2007 será que alguém quer ou pode me ajudar? vlw Compartilhar este post Link para o post Compartilhar em outros sites
crucifier 0 Denunciar post Postado Abril 28, 2007 usa a função unlink:www.php.net/unlinkfunção simples...põe a pasta e o nome do arquivo.: unlink("pasta/arquivo.txt");pronto =D Compartilhar este post Link para o post Compartilhar em outros sites
rogerss_7 0 Denunciar post Postado Abril 28, 2007 opa, vlw pela resposta amigo, este não é o problema, conheço a lógica do unlink, o problema é que não sei é colocá-lo no meio destes códigos, vlw Compartilhar este post Link para o post Compartilhar em outros sites
rogerss_7 0 Denunciar post Postado Abril 30, 2007 Gente olha só, peço desculpas mesmo pela minha ignorância em perguntar essas coisas que não sei fazer, mas o pouco que sei, eu ajudo, só gostaria que vocês me ajudassem a fazer isso, uma função que exclua os arquivos listados do diretório, agradeço mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
David Ramires 1 Denunciar post Postado Abril 30, 2007 -rogerss_7, beleza! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Você está sendo notificado por desrespeitar a 10ª Regra do fórum. Leia as regras e utilize-as como referência em futuras postagens. okay!!!! Ler Regras Compartilhar este post Link para o post Compartilhar em outros sites
David Ramires 1 Denunciar post Postado Abril 30, 2007 Gente olha só, peço desculpas mesmo pela minha ignorância em perguntar essas coisas que não sei fazer, mas o pouco que sei, eu ajudo, só gostaria que vocês me ajudassem a fazer isso, uma função que exclua os arquivos listados do diretório, agradeço mesmo.então pelo que entendi você quer colocar uma função para excluir os arquivos.. você pode tentar alguma coisa assim:: function Delete($nome_do_arquivo,$endereco_pasta){ $status = unlink($endereco_pasta."/".$nome_do_arquivo); if($status){ $mostra = "Arquivo ".$nome_do_arquivo." deletado"; } else { $mostra = "Ocorreu Algum erro ao Deletar o arquivo: ".$nome_do_arquivo; } } } :unsure: Compartilhar este post Link para o post Compartilhar em outros sites