Ir para conteúdo
Fórum Script Brasil

guilhermegoulart

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Posts postados por guilhermegoulart

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