Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rogerss_7

Super (diretório) - desafio pra quem realmente gosta de programa

Recommended Posts

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

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

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

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

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

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

-

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.