Jump to content
Fórum Script Brasil

Question

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 to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148856
    • Total Posts
      644852
×
×
  • Create New...