1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Upload múltiplo php com insert no banco de dados mysql

Bom dia galera!

Hoje venho com essa questão, estou tentando fazer um upload multiplo de varias imagens para o banco de dados mysql, no momento ja conseguir fazer o upload de uma imagem, aliais duas, agora estou com dificuldades para fazer o upload multiplo alguem pode me ajudar, segue a estrutura que ja desenvolvir!

Classe imagem

<?php

namespace app\classes;

class imagem {

    private $novoNome;
    private $uploadImage;

    public function renomear($foto) {
        $explode_foto = explode('.', $foto);
        $extensao = end($explode_foto);
        $this->novoNome = uniqid() . '.' . $extensao;
        return $this->novoNome;
    }

    public static function deletar($imagem) {
        if (file_exists($_SERVER['DOCUMENT_ROOT'] . $imagem)):
            unlink($_SERVER['DOCUMENT_ROOT'] . $imagem);
        endif;
    }

    public function upload($wide, $pasta, $largura, $altura) {
        $this->uploadImage = $wide->resize($largura, $altura, 'fill');
        $this->uploadImage->savetofile($_SERVER['DOCUMENT_ROOT'] . '/upload/' . $pasta . '/' . $this->novoNome);
    }

}

Faz o upload:

<?php
                if (isset($_FILES['salva'])):
                    $id = filter_input(INPUT_POST, 'txt_id', FILTER_SANITIZE_STRING);

                    //faz upload da imagem
                    $temp_foto = $_FILES['file_upload']['tmp_name'];
                    $foto = $_FILES['file_upload']['name'];

                    for ($i = 0; $i < count($temp_foto); $i++) { //passa por todos os arquivos
                        $wide = \WideImage\WideImage::load($temp_foto);
                        $imagem = new app\classes\imagem();
                        $nome_foto = $imagem->renomear($foto);
                        $imagem->upload($wide, 'mini', 270, 146);
                        $imagem->upload($wide, 'full', 570, 304);

                        $video = new galeria();
                        $attributes = array(
                            'tb_galeria_img_mini' => '/upload/mini/' . $nome_foto,
                            'tb_galeria_img_full' => '/upload/full/' . $nome_foto,
                            'id_galeria_categ' => $id
                        );

                        $video->create($attributes);
                        echo '<div class="alert alert-success text-center alert-dismissable">
                <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
                Cadastrado com sucesso!
            </div>';
                    }
                endif;
                ?>

O formulario:

<form action="" method="post" enctype="multipart/form-data">
                                <div class="modal-body">
                                    <label for="">Imagem:</label>
                                    <input type="file" name="file_upload"/>
                                    <p class="alert-info">Utilize imagens na resolução de 570x304 pixes</p>
                                    <label for="">Descrição:</label>
                                    <input class="form-control" name="txt_desc">
                                </div>
                                <div class="modal-footer">
                                    <button type="button" class="btn btn-default" data-dismiss="modal">Fechar</button>
                                    <button type="submit" name="salva" class="btn btn-primary"><i class="fa fa-save"></i> Salvar
                                    </button>
           </div>
</form>

Obs: Estou utilizando a classe do wideimage. http://wideimage.sourceforge.net/

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags php mysql ou faça a sua própria pergunta.