Problem while uploading images

Asked

Viewed 39 times

-1

I have a form inside a table, and it will duplicate the lines as many times as I want, follows:

<table class="table table-striped table-bordered table-hover" >
    <thead>
        <tr>
            <th width="15%">*Titulo</th>
            <th width="15%">*Posição</th>
            <th width="60%">*Imagem</th>
            <th width="10%"><a class="adicionarCampoImagem" title="Adicionar imagem" style="cursor: pointer;"><span class="fa fa-plus-square fa-2x" style="color: #a6ce39 !important;"></span></a></th>
        </tr>
    </thead>
    <tbody>
        <tr class="linhasImagem">
            <td>
            <input type="text" name="txttituloImagem[]" id="txttituloImagem[]" class="form-control" maxlenght="15">
            </td>
            <td>
            <input type="number" name="txtposicaoImagem[]" id="txtposicaoImagem[]" class="form-control" min="1" max="" maxlenght="4">
            </td>
            <td>
            <input type="file" name="txtimagem[]" id="txtimagem[]" class="form-control" maxlenght="15">
            </td>
            <td><a class="removerCampoImagem" title="Remover Imagem" style="cursor: pointer;"><span class="fa fa-minus-square fa-2x"></span></a></td>
        </tr>
    </tbody>
</table>

And in PHP the following code:

$diretorio = "../../main/paginas/imagens/".$idProduto;
$diretorio = mkdir($diretorio, 0777);
if(is_dir($diretorio)){ 
    $msg = "Não foi possivel criar a pasta da imagem";
}else{
    echo $qtdImagem= count($_FILES['txtimagem']);
    $tabela="imagens";
    for ($controle = 0; $controle < count($_FILES['txtimagem']['name']); $controle++){

        echo $destino = $diretorio."/".$_FILES['txtimagem']['name'][$controle];
        $dados = array(
            'produtos_id' => $idProduto,
            'titulo' => $tituloImagem[$controle],
            'url' => $destino[$controle],
            'sequencia' => $posicaoImagem[$controle]
        );
        $sql_ins_imagens_resultado = adicionar($tabela, $dados);
        if($sql_ins_imagens_resultado){
            if(move_uploaded_file($arquivo['tmp_name'][$controle], $destino)){
                $msg = buildMessage('upload', 'imagens');
            }else{
                $msg = buildMessage('uploadError', 'imagens');
            }   
        }


    }
}

The problem is that by giving one echo in the count() he is giving as ZERO and ends up not entering the for. What would be my mistake? This is the right way to upload?

1 answer

1


Check if your form contains this attribute enctype="multipart/form-data" Thus remaining:

  <form action=""  method="post" enctype="multipart/form-data">

Browser other questions tagged

You are not signed in. Login or sign up in order to post.