Jump to content

Janni e Gui

Members
  • Content count

    1
  • Joined

  • Last visited

Community Reputation

0 Comum

About Janni e Gui

  1. Janni e Gui

    PHP com POO

    Estou precisando fazer um projeto para a faculdade a partir de um codigo pronto que o professor passou que faça basicamente upload, listagem e exclusao de fotos. Até aí tudo bem, eu já consegui fazer, o problema é que a classe diretorio tem que ficar orientada a objetos, e eu nao estou conseguindo raciocinar para fazer isso. abaixo segue os codigos da Index, CadastrarArquivo, ExcluirArquivo e a classe diretorio, que é a qual solicito ajuda no codigo para tornar-se POO. Agradeço a ajuda. //INDEX <?php // utilizar este arquivo ao invés de index.html // pois com o PHP vai ser possível tornar a lista de arquivos // uma lista dinâmica, ou seja, com base no que existe na pasta // e é preciso formatar o formulário para que esteja // enviando seus dados de forma correta para o script cadastrar_arquivo.php // ** lembre-se do método, do action e do enctype ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content=""> <title>MAPA</title> <!-- Bootstrap Core CSS --> <link href="../vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet"> <!-- MetisMenu CSS --> <link href="../vendor/metisMenu/metisMenu.min.css" rel="stylesheet"> <!-- Custom CSS --> <link href="../dist/css/sb-admin-2.css" rel="stylesheet"> <!-- Custom Fonts --> <link href="../vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css"> <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> <![endif]--> </head> <body> <div id="wrapper"> <!-- Navigation --> <nav class="navbar navbar-default navbar-static-top" role="navigation" style="margin-bottom: 0"> <div class="navbar-header"> <a class="navbar-brand" href="index.html">MAPA - EAD UniCesumar</a> </div> <!-- /.navbar-header --> </nav> <div id="page-wrapper" style="margin-left:0px"> <div class="row"> <div class="col-md-6 col-md-offset-3"> <h1 class="page-header">Projeto Mapa Unicesumar</h1> </div> <!-- /.col-lg-12 --> </div> <!-- /.row --> <div class="row"> <div class="col-md-6 col-md-offset-3"> <div class="panel panel-default"> <div class="panel-heading" > Digite o nome do arquivo e anexe o documento... </div> <?php if (isset($_GET['error'])) {?> <div class="panel-heading" style="background-color: #cccccc;"> Preencha o formulário corretamente! </div> <?php }?> <div class="panel-body"> <div class="row"> <div class="col-lg-12"> <form role="form" name="upload" action="cadastrar_arquivo.php" method="post" enctype="multipart/form-data"> <div class="form-group"> <label>Nome do Arquivo</label> <input name="nome" class="form-control"> <p class="help-block">Digite o nome que o arquivo será salvo...</p> </div> <div class="form-group"> <label>Anexar Arquivo</label> <input name="imagem" type="file"> </div> <button type="submit" class="btn btn-active">Enviar Arquivo</button> </form> </div> <!-- /.col-lg-12 (nested) --> </div> <!-- /.row (nested) --> </div> <!-- /.panel-body --> </div> <!-- /.panel --> </div> <!-- /.col-lg-12 --> </div> <!-- /.row --> <div class="row"> <div class="col-md-6 col-md-offset-3"> <div class="panel panel-default"> <div class="panel-heading"> Relatório de Arquivos </div> <!-- /.panel-heading --> <div class="panel-body"> <div class="table-responsive"> <table class="table table-striped table-bordered table-hover"> <thead> <tr> <th>#</th> <th>Arquivo</th> <th>Excluir?</th> </tr> </thead> <tbody> <?php $dir = '../uploads'; $files1 = scandir($dir); $i=0; foreach ($files1 as $file){ if(strlen($file)>3) { $i++; ?> <tr> <td><?php echo $i ?></td> <td><?php echo $file ?><img src="<?php echo $dir.'/'.$file ?>" title="<?php echo $file ?>" style="width: 15%;"/></td> <td><a href="excluir_arquivo.php?excluir=<?php echo$file?>">Excluir</a></td> </tr> <!-- <tr> <td><?php echo $i ?></td> <td><img src="<?php echo $dir.'/'.$file ?>" title="<?php echo $file ?>" style="width: 15%;"/></td> <td><a href="excluir_arquivo.php?excluir=<?php echo$file?>">Excluir</a></td> </tr>--> <?php } } ?> </tbody> </table> </div> <!-- /.table-responsive --> </div> <!-- /.panel-body --> </div> </div> </div> </div> <!-- /#page-wrapper --> </div> <!-- /#wrapper --> <!-- jQuery --> <script src="../vendor/jquery/jquery.min.js"></script> <!-- Bootstrap Core JavaScript --> <script src="../vendor/bootstrap/js/bootstrap.min.js"></script> <!-- Metis Menu Plugin JavaScript --> <script src="../vendor/metisMenu/metisMenu.min.js"></script> <!-- Custom Theme JavaScript --> <script src="../dist/js/sb-admin-2.js"></script> </body> </html> -------------------------------------------------------------------- //cadastrar arquivo <?php // script que recebe os dados do formulário // trata os dados // recebe o upload // recebe o nome do arquivo // move o arquivo para a pasta uploads // salvando com o nome informado pelo input // depois redireciona para a lista de arquivos novamente $error = ''; if (isset($_POST['nome']) && $_POST['nome']!='' && isset($_FILES['imagem'])) { $name = $_FILES["imagem"]["name"]; $ext = end((explode(".", $name))); # extra () to prevent notice $uploaddir = '../uploads/'; $uploadfile = $uploaddir . $_POST['nome'].'.'.$ext; if (move_uploaded_file($_FILES['imagem']['tmp_name'], $uploadfile)) { echo "Arquivo válido e enviado com sucesso.\n"; } }else { $error = "error"; } header('Location: '.'index.php?'.$error); ?> -------------------------------------------------------------------- //Excluir arquivo <?php $delete = $_GET['excluir']; unlink('../uploads/'.$delete); header('Location: '.'index.php'); ?> -------------------------------------------------------------------- //diretorio <?php interface DiretorioInterface { public function recuperarListaArquivos();//{} public function excluirArquivo($nome_arquivo);//{} public function cadastrarArquivo($arquivo);//{} /** * se precisra pode construir mais métodos * ou até mesmo dar manutenção nesta interface */ } class Diretorio implements DiretorioInterface { } ?>
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.