Ir para conteúdo
Fórum Script Brasil

guilhermegoulart

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre guilhermegoulart

  • Data de Nascimento 14/01/1990

guilhermegoulart's Achievements

0

Reputação

  1. guilhermegoulart

    PHP para POO

    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>
  2. preciso de ajuda para resolver o problema do titulo do tópico fiz o algoritmo porem não consigo faze-lo executar, acredito que não estou colocando o bloco de codigo no lugar certo: //Bibliotecas #include <stdio.h> #include <stdlib.h> #include <locale.h> //Constantes #define tamanho 5 //Estrutura da Pilha struct tpilha { int dados[tamanho]; int ini; int fim; }; //Vari?veis globais tpilha pilha; int op; //Protipa??o void pilha_entrar(); void pilha_sair(); void pilha_mostrar(); void menu_mostrar(); //Fun??o principal int main(){ setlocale(LC_ALL, "Portuguese"); op = 1; pilha.ini = 0; pilha.fim = 0; while (op != 0) { system("cls"); pilha_mostrar(); menu_mostrar(); scanf("%d", &op); switch (op) { case 1: pilha_entrar(); break; case 2: pilha_sair(); break; } } return(0); } //Adicionar um elemento no final da Pilha void pilha_entrar(){ if (pilha.fim == tamanho) { printf("\nA pilha est? cheia, imposs?vel empilhar um novo elemento!\n\n"); system("pause"); } else { printf("\nDigite o valor a ser empilhado: "); scanf("%d", &pilha.dados[pilha.fim]); pilha.fim++; } } //Retirar o ?ltimo elemento da Pilha void pilha_sair() { if (pilha.ini == pilha.fim) { printf("\nA pilha est? vazia, n?o h? nada para desempilhar!\n\n"); system("pause"); } else { pilha.dados[pilha.fim-1] = 0; pilha.fim--; } } //Mostrar o conte?do da Pilha void pilha_mostrar() { int i; printf("[ "); for (i = 0; i < tamanho; i++) { printf("%d ", pilha.dados); } printf("]\n\n"); } //Mostrar o menu de op??es void menu_mostrar() { printf("\nEscolha uma op??o:\n"); printf("1 - Empilhar\n"); printf("2 - Desempilhar\n"); printf("0 - Sair\n\n"); } eu sei que tenho que inserir o seguinte codigo em algum lugar, mas não consigo entender aonde, peço ajuda pra poder entender o funcionamento da função, e se estiver faltando alguma coisa, me mostrem pra eu entender a logica. function inverter(*fila, *pilha){ while(fila_vazia(fila)!=0){ empilhar(pilha,desenfileirar(fila)); } while(pilha_vazia(pilha)!=0){ enfileirar(fila,desempilhar(pilha)); } } agradeço desde já a ajuda.
×
×
  • Criar Novo...