Maybe it's duplicated, but I could not find any explanation that follows in my reasoning.
I have the following code taken from the Web, through a video lesson.
<form class="form-horizontal" method="POST" action="administrativo/processa/adm_proc_cad_produtos.php" enctype="multipart/form-data">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">Imagens</label>
<div class="col-sm-10">
<input name="arquivo[]" type="file" multiple="multiple"/>
</div>
</div>
</form>
<?php
if(isset($_FILES['arquivo'])){
// informações da imagens
$imagem = $_FILES['arquivo'];
$numArquivo = count(array_filter($imagem['name']));
// Local de upload
$pasta = "../../../imagens/produtos/";
// Permissões de arquivos
$tipo = array('image/jpeg', 'image/png');
$maxsize = 1024 * 1024 * 10;
// mensagens
$msg = array();
$errorMsg = array(
1 => 'Arquivos no upload é maior qye o limite definido de upload_max_filesize, por favor reduza suas imagens',
2 => 'O arquivo ultrapassa o limite de tamanho em MAX_FILE_SIZE',
3 => 'Upload feito parcialmente, e pode conter erros',
4 => 'Upload de arquivo não realizado'
);
if($numArquivo <= 0)
echo 'Selecione uma imagem';
else{
for($i = 0; $i < $numArquivo; $i++){
$name = $imagem['name'][$i];
$type = $imagem['type'][$i];
$size = $imagem['size'][$i];
$error = $imagem['error'][$i];
$tmp = $imagem['tmp_name'][$i];
$extensao = @end(explode('.', $name));
$nomeUnico = rand().".$extensao";
if($error != 0)
$msg[] = "<b>$name :</b> ".$errorMsg[$error];
else if(!in_array($type, $tipo))
$msg[] = "<b>$name :</b> Erro tipo imagem não permitida!";
else if($size > $maxsize)
$msg[] = "<b>$name :</b> Tamanho do(s) arquivo(s) maior que o limite 10MB!";
else {
if(move_uploaded_file($tmp, $pasta."/".$nomeUnico))
$msg[] = "<b>$name :</b> Upload realizado com sucesso!";
else
$msg[] = "<b>$name :</b> Erro! Ocorreu um erro, tente novamente!";
}
}
$nomeimagem = implode(',', $nomeUnico);
$result_produtos = "INSERT INTO produtos (nome, situacao_produto_id, categorias_id, imagem, valor, texto, created) VALUES ('{$nome}', '{$situacao_produto_id}', '{$categorias_id}', '{$nomeimagem}', '{$valor}', '{$texto}', NOW())";
$resultado_produtos = mysqli_query($conn, $result_produtos);
// fecha else
}
}
?>
To upload the file and write to the MySQL database.
The code uploads 1 several files, and rand () in the name, and sends the folder, the problem is to write to the database.
I would like in my table (image) with columns ID | image | date
In my (column image) when uploading several images they were inserted in the following way 1.jpg, 2.jpg, 3.jpg - in the image column the image name is uploaded in a single column .
I tried to do the
$nomeimagem = implode(',', $nomeUnico);
Before inserting in the database but the implode parameter does not work.
Could someone please help me?