Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal
Tenho um upload multiplo que envia quatro arquivos para sua determinada pasta e os nomes das imagens para o BD.
A questão é, mesmo que eu envie apenas uma única imagem (que vai coretamente para a pasta), mais 3 entradas são adicionadas na row do BD. Como fazer para que apareça os nomes apenas do arquivo que fiz o upload?
Por acaso eu teria que alterar o for(...) para que ele conte apenas as imagens enviadas e não 4, como exibido no $numeroCampos? Como?
<?php
mysql_connect("localhost","root","") or die ("Não foi possível conectar ao Servidor.");
mysql_select_db("lab") or die ("Não foi possível selecionar a base de dados");
$numeroCampos = 4;
$titulo = $_POST['titulo'];
$resumo = $_POST['resumo'];
$producao = $_POST['producao'];
$detalhes = $_POST['detalhes'];
$imagens = array();
$resultado = mysql_query("SHOW TABLE STATUS LIKE 'trabalhos'");
$array = mysql_fetch_array($resultado);
$caminho = "../uploads/" . date('dmY').".00".$array['Auto_increment'];
for ($i = 0; $i < $numeroCampos; $i++)
{
$nomeArquivo = $_FILES["imagens"]["name"][$i];
$nomeTemporario = $_FILES["imagens"]["tmp_name"][$i];
$nomeFinal = md5($nomeArquivo . date("dmYHis"));
$tipo = end(explode('.', $nomeArquivo));
$imagens[] = sprintf('%s.%s',$nomeFinal,$tipo);
if (!empty($caminho))
{
if (file_exists($caminho . $nomeFinal .'.'. $tipo))
{
echo "O arquivo já existe";
}
if (!file_exists($caminho . $nomeFinal .'.'. $tipo))
{
@mkdir($caminho, 0777);
move_uploaded_file($nomeTemporario, ($caminho .'/'. $nomeFinal .'.'. $tipo));
}
}
}
$imagens = implode(", ", $imagens);
echo "Arquivos enviados com exito!";
mysql_query("INSERT INTO `trabalhos` (imagens, titulo, resumo, producao, detalhes) VALUES('$imagens', '$titulo', '$resumo', '$producao', '$detalhes')");
?>Carregando comentários...