Ir para conteúdo
Fórum Script Brasil
  • 0

PHP para POO


guilhermegoulart

Pergunta

Ola, eu fiz 4 arquivos para um trabalho de faculdade em PHP, o projeto precisa fazer upload, listar e excluir fotos. Os códigos inicialmente foi passado pelo professor e eu tive que ir apenas remodelando e encaixando dentro do que o professor passou.

Porem, apos feito tudo, ficou faltando a OO, algo que tenho muita dificuldade, o professor disse que preciso mover as regras de negocio dos scripts e jogar para a classe, Nesse ponto que preciso de ajuda e não sei como fazer.

segue os codigos:

//UPLOAD DE ARQUIVO	
<?php

$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');

?>
-----------------------------------------------------------------------
//CLASSE DIRETORIO

accept
classe diretorio que preciso passar para POO:

<?php
interface DiretorioInterface { public function recuperarListaArquivos();//{}chaves no lugar do ; public function excluirArquivo($nome_arquivo);//{} public function cadastrarArquivo($arquivo);//{}

}

class Diretorio implements DiretorioInterface {

}

?>
---------------------------------------------------------------------------
//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 Unicesumar</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">Leitura de Pasta e Envio de Arquivos</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++;
                                            ?>

                                        <?php echo $file ?>

                                            <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>

 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...