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

(Resolvido) Upload de 2 arquivos e guardar path no bd


cassianooliver

Pergunta

Olá pessoal,

to tentando fazer o upload de 2 imagens e guardar o path delas no BD, mas não to conseguindo raciocinar muito bem na hora de guardar, vejam...

<?php
include "../conexao.php";
$titulo = $_POST["titulo"];
$categoria = $_POST["categoria"];
$imagens = $_FILES["imagem"];
$TotalImagens = count($imagens["name"]);
$data = date("Y-m-d H:i:s");

for($i = 0; $i < $TotalImagens; $i++) {
    $peso = $imagens["size"][$i];
    $nome = $imagens["name"][$i];
    $ext = end(explode(".", $nome));
    $NomeImagem = md5($nome) . "-" . date("Ymd-His") . "." . $ext;
    
    if($peso > 200000) { // apenas exemplo, não é real
        echo "A imagem $nome possui mais de 200 kb<br />";
    }
    else {
        $sql = "INSERT INTO trabalhos (titulo, categoria, amostra, imagem, data) VALUES ('$titulo', '$categoria', '$NomeImagem', '$NomeImagem', '$data')";
        $query = mysql_query($sql);
        echo "sucesso";
    }
}
mysql_close($conexao);
?>

na sql, em "amostra" quero inserir a 1ª imagem, em "imagem" quero inserir a 2ª...

como está aí, tanto em "amostra", como em "imagem" ta sendo inserido as 2...

onde to errando?

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
<form class="formulario" id="NovoTrabalho" enctype="multipart/form-data">
    <p>
    <span class="campo">Título:</span> 
    <input type="text" name="titulo" id="titulo" />
    </p>
    
    <p>
    <span class="campo">Categoria:</span> 
    <select name="categoria" id="categoria">
        <option value="nulo">Escolha</option>
        <option value="site">Site</option>
        <option value="grafico">Grafico</option>
        <option value="animacao">Animação</option>
    </select>
    </p>
    
    <p>
    <span class="campo">Amostra:</span> 
    <input type="file" name="imagem[]" id="amostra" />
    </p>
    
    <p>
    <span class="campo">Imagem:</span> 
    <input type="file" name="imagem[]" id="imagem" />
    </p>
    
    <div class="carregando"></div>
    
    <p class="button"><button type="submit">Adicionar</button></p>
</form>

Link para o comentário
Compartilhar em outros sites

  • 0

A tua lógica tá errada, a query tem que estar fora do laço... outra coisa, você tá usando o mesmo nome de variável pra duas coisas... logo também não vai dar certo, o correto é algo do tipo...

<?php
include "../conexao.php";
$titulo = $_POST["titulo"];
$categoria = $_POST["categoria"];
$imagens = $_FILES["imagem"];
$TotalImagens = count($imagens["name"]);
$data = date("Y-m-d H:i:s");

for($i = 0; $i < $TotalImagens; $i++) {
    $peso = $imagens["size"][$i];
    $nome = $imagens["name"][$i];
    $ext = end(explode(".", $nome));
    $NomeImagem = md5($nome) . "-" . date("Ymd-His") . "." . $ext;
    
    if($peso > 200000) { // apenas exemplo, não é real
        echo "A imagem $nome possui mais de 200 kb<br />";
    }else {
        $img[$i] = $NomeImagem;
    }
}
        $sql = "INSERT INTO trabalhos (titulo, categoria, amostra, imagem, data) VALUES ('$titulo', '$categoria', '".$img['0']."', '".$img['1']."', '$data')";
        $query = mysql_query($sql);
        echo "sucesso";
mysql_close($conexao);
?>

Se você for ver, nem precisaria do laço, pois você sabe que sempre vai receber duas imagens e nada mais...

Link para o comentário
Compartilhar em outros sites

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
      152,3k
    • Posts
      652,6k
×
×
  • Criar Novo...