To com um script aqui de fazer upload de uma foto para o servidor, como estou fazendo uma galeria de imagens, preciso criar uma estrutura de repetição para que o usuario possa enviar mais de uma foto que no caso aqui seria 10. Peço para que de uma olhada no meu script e me diga onde estou errando...
Faz o upload das imagens
<?php
require_once ("functionsUpload.php");
set_time_limit(0); //Elimita o limite de tempo do php_timeout();
$i =1; //a variável i é iniciada com valor 1
While($i <= 10) //enquanto $i for menor ou igual a 10...
{
//pega os nomes dos campos files (prefixo + numero crescente)
$id_arquivo = "foto".$i;
$nome_arquivo = $_FILES[$id_arquivo]["name"];
$arqv_temporario = $_FILES[$id_arquivo]["tmp_name"];
// faz o upload dos arquivos
$arquivo = isset($_FILES["$id_arquivo"]) ? $_FILES["$id_arquivo"] : FALSE;
$max_image_x = 402;
$max_image_y = 331;
$diretorio = '/home/admin/public_html/testes/eu/fotos/';
if($arquivo)
{
$tamanho = getimagesize($arqv_temporario);
ini_set ("max_execution_time", 3600); // uma hora
$err = FALSE;
if(is_uploaded_file($arqv_temporario))
{
if(verifica_image($arquivo))
{
$tamanho = getimagesize($arqv_temporario);
$dimensiona = verifica_dimensao_image($arquivo, $max_image_x, $max_image_y);
if($dimensiona != '')
{
if($dimensiona == 'altura')
{
$auxImage = $max_image_x;
$max_image_x = $max_image_y;
$max_image_y = $auxImage;
}
}
else
{
$max_image_x = $tamanho[0];
$max_image_y = $tamanho[1];
}
$nome_foto = ('imagem_crop_' . time() . '.' . verifica_extensao_image($arquivo));// nome único para foto
$endFoto = $diretorio . $nome_foto;
if(reduz_imagem($arqv_temporario, $max_image_x, $max_image_y, $endFoto))
{
$err = TRUE;
}
}
}
}
{
echo "O Arquivo <b>$nome_foto e $id_arquivo</b> foi concluido com sucesso<img src=fotos/$nome_foto /><br />";
$i++; // e incrementado
}
}
?>
Pergunta
wawasurf
To com um script aqui de fazer upload de uma foto para o servidor, como estou fazendo uma galeria de imagens, preciso criar uma estrutura de repetição para que o usuario possa enviar mais de uma foto que no caso aqui seria 10. Peço para que de uma olhada no meu script e me diga onde estou errando...
Faz o upload das imagens
<?php require_once ("functionsUpload.php"); set_time_limit(0); //Elimita o limite de tempo do php_timeout(); $i =1; //a variável i é iniciada com valor 1 While($i <= 10) //enquanto $i for menor ou igual a 10... { //pega os nomes dos campos files (prefixo + numero crescente) $id_arquivo = "foto".$i; $nome_arquivo = $_FILES[$id_arquivo]["name"]; $arqv_temporario = $_FILES[$id_arquivo]["tmp_name"]; // faz o upload dos arquivos $arquivo = isset($_FILES["$id_arquivo"]) ? $_FILES["$id_arquivo"] : FALSE; $max_image_x = 402; $max_image_y = 331; $diretorio = '/home/admin/public_html/testes/eu/fotos/'; if($arquivo) { $tamanho = getimagesize($arqv_temporario); ini_set ("max_execution_time", 3600); // uma hora $err = FALSE; if(is_uploaded_file($arqv_temporario)) { if(verifica_image($arquivo)) { $tamanho = getimagesize($arqv_temporario); $dimensiona = verifica_dimensao_image($arquivo, $max_image_x, $max_image_y); if($dimensiona != '') { if($dimensiona == 'altura') { $auxImage = $max_image_x; $max_image_x = $max_image_y; $max_image_y = $auxImage; } } else { $max_image_x = $tamanho[0]; $max_image_y = $tamanho[1]; } $nome_foto = ('imagem_crop_' . time() . '.' . verifica_extensao_image($arquivo));// nome único para foto $endFoto = $diretorio . $nome_foto; if(reduz_imagem($arqv_temporario, $max_image_x, $max_image_y, $endFoto)) { $err = TRUE; } } } } { echo "O Arquivo <b>$nome_foto e $id_arquivo</b> foi concluido com sucesso<img src=fotos/$nome_foto /><br />"; $i++; // e incrementado } } ?>Faz o redimensionamento das imagens<?php function verifica_dimensao_image($img, $max_x, $max_y) { $dimensaoImage = getimagesize($img["tmp_name"]); $dimensao = ''; // Verifica largura if($dimensaoImage[0] > $dimensaoImage[1]) { if($dimensaoImage[0] > $max_x) { $dimensao = 'largura'; } } else { if($dimensaoImage[0] < $dimensaoImage[1]) { if($dimensaoImage[1] > $max_x) { $dimensao = 'altura'; } } else { if($dimensaoImage[0] == $dimensaoImage[1]) { if($dimensaoImage[0] > $max_x) { $dimensao = 'largura'; } } } } return ($dimensao); }//fim verifica_dimensao_image function reduz_imagem($img, $max_x, $max_y, $nome_foto) { //pega o tamanho da imagem ($original_x, $original_y) list($width, $height) = getimagesize($img); $original_x = $width; $original_y = $height; // se a largura for maior que altura if($original_x > $original_y) { $porcentagem = (100 * $max_x) / $original_x; } else { $porcentagem = (100 * $max_y) / $original_y; } $tamanho_x = $original_x * ($porcentagem / 100); $tamanho_y = $original_y * ($porcentagem / 100); $image_p = imagecreatetruecolor($tamanho_x, $tamanho_y); $image = imagecreatefromjpeg($img); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height); return imagejpeg($image_p, $nome_foto, 100); }//fim reduz_imagem function verifica_image($img) { // Verifica se o mime-type do arquivo é de imagem if(eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $img["type"])) { return (TRUE); } return (FALSE); }// fim verifica_image function verifica_extensao_image($img) { // Pega extensão do arquivo preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $img["name"], $ext); return ($ext[1]); }//fim verifica_extensao_imag ?>Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.