Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho o seguinte formulário:
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data">
<p><input type="file" name="arquivo[]" /></p>
<p><input type="file" name="arquivo[]" /></p>
<p><input type="file" name="arquivo[]" /></p>
<p><input type="file" name="arquivo[]" /></p>
<p><input type="file" name="arquivo[]" /></p>
<p><input type="submit" value="Enviar" /></p>
</form>
O code original pega essas imagens e as move para um pasta. Até aí, tudo bem, funciona. Mas estou tentando introduzir no meio uma função para criar também thumbnails automáticos, mas daí o code inteiro só funciona quando é submetido apenas uma foto. Creio que o problema deva estar no laço... Alguém pode me ajudar? OBRIGADO!
Aí vai o code php completo:
// Numero de campos de upload
$numeroCampos = 5;
// Tamanho máximo do arquivo (em bytes)
$tamanhoMaximo = 5000000;
// Extensões aceitas
$extensoes = array(".jpg", ".png");
// Caminho para onde o arquivo será enviado
$caminho = "../../Imprensa/fotos_imprensa/";
// Substituir arquivo já existente (true = sim; false = nao)
$substituir = false;
for ($i = 0; $i < $numeroCampos; $i++) {
// Informações dos arquivos enviados
$nomeArquivo = $_FILES["arquivo"]["name"][$i];
$tamanhoArquivo = $_FILES["arquivo"]["size"][$i];
$nomeTemporario = $_FILES["arquivo"]["tmp_name"][$i];
// Verifica se o arquivo foi colocado no campo
if (!empty($nomeArquivo)) {
$erro = false;
// Verifica se o tamanho do arquivo é maior que o permitido
if ($tamanhoArquivo > $tamanhoMaximo) {
$erro = "O arquivo " . $nomeArquivo . " não deve ultrapassar " . $tamanhoMaximo. " bytes";
}
// Verifica se a extensão está entre as aceitas
elseif (!in_array(strrchr($nomeArquivo, "."), $extensoes)) {
$erro = "A extensão do arquivo <b>" . $nomeArquivo . "</b> não é válida";
}
// Verifica se o arquivo existe e se é para substituir
elseif (file_exists($caminho . $nomeArquivo) and !$substituir) {
$erro = "O arquivo <b>" . $nomeArquivo . "</b> já existe";
}
// Se não houver erro
if (!$erro) {
// Função gera Thumbnail
function geraThumb($photo, $output, $new_width) {
$source = imagecreatefromstring(file_get_contents($photo));
list($width, $height) = getimagesize($photo);
if ($width>$new_width) {
$new_height = ($new_width/$width) * $height;
$thumb = imagecreatetruecolor($new_width, $new_height);
imagecopyresampled($thumb, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagejpeg($thumb, $output, 100);
}
else {
copy($photo, $output);
}
}
// Cria o Thumbnail
geraThumb($nomeTemporario, "../../Imprensa/fotos_imprensa/drops_".$nomeArquivo, 120);
// Move o arquivo original para o caminho definido
move_uploaded_file($nomeTemporario, ($caminho . $nomeArquivo));
// Mensagem de sucesso
echo "O arquivo <b>".$nomeArquivo."</b> foi enviado com sucesso. <br />";
}
// Se houver erro
else {
// Mensagem de erro
echo $erro . "<br />";
}
}
}Carregando comentários...