Arquivado
Este tópico foi arquivado e está fechado para novas respostas.
PAGINA DO ALBUM FICA VAZIA AO ATUALIZAR A PAGINA E QUANDO ABRE TODAS AS IMAGEM VOLTA PARA PAGINA MAIS VAZIA TBM
Por
Paulo Oliveira Albuquerque, em PHP
Recommended Posts
-
Conteúdo Similar
-
Por RodrigoWD3
Pessoal boa tarde, estou criando uma galeria com categorias no php e mysql, gostaria de saber como faço para colocar um botão - Exibir Mais Fotos - fazendo exibir o restante dos registros na mesma pagina, teria alguma forma de limitar as fotos sem usar o LIMIT do sql? pode ser usando jQuery algo assim , obrigado
-
Por juninhogpe
Boa noite pessoal.
Tenho um formulário para realizar o upload de fotos e uma página que recebe e faz o redimensionamento das imagens.
Quando envio algumas imagens com extensão "jpg", me aparece como arquivo não suportado e outros são enviados corretamente.
Segue abaixo meu código do formulário e o script que recebe e redimensiona as imagens:
formulario.php
<form name="fotos" action="img-action.php" enctype="multipart/form-data" method="post"> <div class="form-group"> <label for="exampleInputEmail1">Nome</label> <input type="text" name="nome" class="form-control" id="exampleInputEmail1" placeholder="Nome do carro"> </div> <div class="clearfix"></div> <div class="form-group"> <label for="exampleInputPassword1">Fotos</label> <input type="file" name="file[]" id="exampleInputFile" required multiple> </div> <div class="clearfix"></div> <button type="submit" class="btn btn-default">Cadastrar fotos</button> </form> img-action.php
<?php session_start(); if (!$_SESSION["usuarioNome"]) header("Location: index.php"); include("conexao.php"); ini_set('memory_limit', '512M'); ini_set('post_max_size', '500M'); ini_set('upload_max_filesize', '500M'); function clean($string) { $a = "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿŔŕºª"; $b = "aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRroa"; $string = utf8_decode($string); $string = strtr($string, utf8_decode($a), $b); //substitui letras acentuadas por "normais" $string = str_replace(" ","-",$string); // retira espaco $string = strtolower($string); // passa tudo para minusculo return utf8_encode($string); //finaliza, gerando uma saída para a funcao } function resizeImage($Largura_atual,$Altura_atual,$Tamanho_Maximo,$Pasta_Destino,$SrcImage,$Qualidade_img,$Tipo_imagem){ //Verifica se a imagem existe if($Largura_atual <= 0 || $Altura_atual <= 0) return false; //Construção proporcional da nova imagem $Imagem = min($Tamanho_Maximo/$Largura_atual, $Tamanho_Maximo/$Altura_atual); $Nova_Largura = ceil($Imagem*$Largura_atual); $Nova_Altura = ceil($Imagem*$Altura_atual); if($Largura_atual < $Nova_Largura || $Altura_atual < $Nova_Altura){ $Nova_Largura = $Largura_atual; $Nova_Altura = $Altura_atual; } $NewCanves = imagecreatetruecolor($Nova_Largura, $Nova_Altura); // Redimensionamento de imagem if(imagecopyresampled($NewCanves, $SrcImage,0, 0, 0, 0, $Nova_Largura, $Nova_Altura, $Largura_atual, $Altura_atual)){ switch(strtolower($Tipo_imagem)){ case 'image/png': imagepng($NewCanves,$Pasta_Destino); break; case 'image/gif': imagegif($NewCanves,$Pasta_Destino); break; case 'image/jpeg': case 'image/pjpeg': imagejpeg($NewCanves,$Pasta_Destino,$Qualidade_img); break; default: return false; } if(is_resource($NewCanves)) imagedestroy($NewCanves); return true; } } $nome_galeria = $_POST["nome"]; $nome_pasta = clean($nome_galeria); $destino_imagem = mkdir('fgaleria/'.$nome_pasta.'/',0777,true); // Inserção na tabela de galeria $nome_galeria = $_POST["nome"]; if(isset($_FILES['file']['name'])){ //Configurações da Imagem $Tamanho_Max_Imagem = 640; //Largura e altura máxima da imagem $Prefixo_Img_redimensionada = "imagem_comprimida"; //Prefixo para o nome da imagem salva $Pasta_Img_Original = 'original/'; $Pasta_Img_Comprimida = 'fgaleria/'; //Diretório para onde a imagem comprimida será salva $Qualidade_img = 90; $Local_Img_comprimida[] = $destino_imagem; $Local_Img_original[] = ""; if ($nome_galeria != ""){ $sql = utf8_decode("INSERT INTO fotos (nome, nome_pasta) VALUES ('$nome_galeria', '$nome_pasta')"); if($conn->query($sql) === TRUE){ echo utf8_encode("<script> alert (\"Cadastro realizado com sucesso.\");</script>"); echo utf8_encode('<script>window.location="cad_foto.php";</script>'); } else{ echo "Erro: " . $sql . "<br />" .$conn->error; echo utf8_encode('<script>window.location="cad_foto.php";</script>'); } } $cont = $_FILES['file']['tmp_name']; for($i = 0; $i < count($cont); $i++){ // Algumas informações das imagens que serão necessárias. $Nome_Imagem = $_FILES['file']["name"][$i]; $Tamanho_Imagem = $_FILES['file']['size'][$i]; $TempSrc = $_FILES['file']['tmp_name'][$i]; $Tipo_imagem = $_FILES['file']['type'][$i]; $Process_Imagem = true; //Validação de arquivo e criação da imagem a partir da imagem que foi feito upload. switch(strtolower($Tipo_imagem)){ case 'image/png': $Imagem_Criada = imagecreatefrompng($TempSrc); break; case 'image/gif': $Imagem_Criada = imagecreatefromgif($TempSrc); break; case 'image/jpeg': case 'image/pjpeg': $Imagem_Criada = imagecreatefromjpeg($TempSrc); break; default: $Process_Imagem = false; //Formato do arquivo não suportado! } //Pega o tamanho da imagem list($Largura_atual,$Altura_atual) = getimagesize($TempSrc); //Local para as imagens de destino $DestRandNome_Imagem = 'fgaleria/'.$nome_pasta.'/'.$Nome_Imagem; //Name for Big Image date_default_timezone_set('America/Sao_Paulo'); $data_upload = date('Y-m-d H:i:s'); //Redimensionamento da imagem para o tamanho especificado na função resizeImage. if($Process_Imagem && resizeImage($Largura_atual,$Altura_atual,$Tamanho_Max_Imagem,$DestRandNome_Imagem,$Imagem_Criada,$Qualidade_img,$Tipo_imagem)){ //Novo tamanho para imagem list($ResizedWidth,$ResizedHeight)=getimagesize($DestRandNome_Imagem); $Local_Img_comprimida = $DestRandNome_Imagem; } else{ echo '<p style="color:red;">Ocorreu um erro ao processar.<strong>'.$Nome_Imagem.'</strong></div>'; //output error } } } echo '<script language="javascript">alert("Imagens enviadas com sucesso!")</script>'; ?>
O que vocês acham que pode ser?
Obrigado desde já.
-
Por Gzaiia
Pessoinhas, estou tendo um probleminha com logica, estou tentando fazer um upload multiplo de imagens com nomes variados de imagens e queria salvá-as depois os nomes das imagens no banco de dados com as seguintes informações:
id, Nome da imagem, id da casa
Porém está ocorrendo um erro ao realizar upload
Parse error: syntax error, unexpected ',' in adm\gravar.php on line 16
Se puderem me ajudar.
Obs: Sou meio novato na área, então tenham paciência suahsuha.
<?php session_start(); include('config/config.php'); $idcasa = $_SESSION["idcasa"]; $banner = 1; $diretorio = "fotos/"; if(!is_dir($diretorio)) { echo "Pasta $diretorio nao existe"; }else{ $arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : FALSE; for ($controle = 0; $controle < count($arquivo['name']); $controle++){ $aleatorio = rand(5, 10); $valor = substr(str_shuffle("AaBbCcDdEeFfGgHhIiJjKkLlMmNnPpQqRrSsTtUuVvYyXxWwZz0123456789"), 0, $aleatorio); $novonome = $valor.'.jpg'; $destino = $diretorio."/".$arquivo['name'][$controle]. $nomefinal; if(move_uploaded_file([$controle], $destino)){ echo "Upload realizado com sucesso <br>"; $sql = mysqli_query("insert into fotos (id, nome, idcasa) values ('', '$novonome', '$idcasa')") }else{ echo "Erro ao realizar upload! <br>"; } } } ?>
-
Por marlone
Estou querendo fazer um upload de 2 imagens em inputs diferentes. Alguém pode me ajudar?
-
Por marlone
Estou tentando cadastrar multiplas imagens com prevew, mas esta dando erro e não cadastra nenhuma... Alguém pode me ajudar?
<?php include('config/conn.php'); ini_set('memory_limit', '1024MM'); class UploadImagem{ public $width; public $height; protected $tipos = array("jpeg", "png", "gif","JPEG", "PNG", "GIF"); protected function redimensionar($caminho, $nomearquivo){ list($width_orig, $height_orig, $tipo, $atributo) = getimagesize($caminho.$nomearquivo); $i = 0; while($i <= 2000){//looping das resolucoes $i += 200; $resolucao = $i; $caminho_novo = $caminho.$resolucao.'/'; $width = $resolucao; $height = $resolucao; if($width_orig > $height_orig){ $height = ($width/$width_orig)*$height_orig; } elseif($width_orig < $height_orig) { $width = ($height/$height_orig)*$width_orig; } $novaimagem = imagecreatetruecolor($width, $height); switch($tipo){ case 1: $origem = imagecreatefromgif($caminho.$nomearquivo); imagecopyresampled($novaimagem, $origem, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); imagegif($novaimagem, $caminho_novo.$nomearquivo); break; case 2: $origem = imagecreatefromjpeg($caminho.$nomearquivo); imagecopyresampled($novaimagem, $origem, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); imagejpeg($novaimagem, $caminho_novo.$nomearquivo); break; case 3: $origem = imagecreatefrompng($caminho.$nomearquivo); imagecopyresampled($novaimagem, $origem, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); imagepng($novaimagem, $caminho_novo.$nomearquivo); break; } imagedestroy($novaimagem); } imagedestroy($origem); } protected function tirarAcento($texto){ $com_acento = array('à','á','â','ã','ä','å','ç','è','é','ê','ë','ì','í','î','ï','ñ','ò','ó','ô','õ','ö','ù','ü','ú','ÿ','À','Á','Â','Ã','Ä','Å','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ñ','Ò','Ó','Ô','Õ','Ö','O','Ù','Ü','Ú','Ÿ',); $sem_acento = array('a','a','a','a','a','a','c','e','e','e','e','i','i','i','i','n','o','o','o','o','o','u','u','u','y','A','A','A','A','A','A','C','E','E','E','E','I','I','I','I','N','O','O','O','O','O','0','U','U','U','Y',); $final = str_replace($com_acento, $sem_acento, $texto); $com_pontuacao = array('´','`','¨','^','~',' ','-'); $sem_pontuacao = array('','','','','','_','_'); $final = str_replace($com_pontuacao, $sem_pontuacao, $final); return $final; } public function salvar($caminho, $file, $nome_imagem){ $caminho = $caminho; $file['name'] = $this->tirarAcento(($nome_imagem));//$file['name'] NOME ORIGINAL $uploadfile = $caminho.$file['name']; $tipo = strtolower(end(explode('/', $file['type']))); if (array_search($tipo, $this->tipos) === false) { $mensagem = "<font color='#F00'>Envie apenas imagens no formato jpeg, png ou gif!</font>"; return $mensagem; } else if (!move_uploaded_file($file['tmp_name'], $uploadfile)) { switch($file['error']){ case 1: $mensagem = "<font color='#F00'>O tamanho do arquivo é maior que o tamanho permitido.</font>"; break; case 2: $mensagem = "<font color='#F00'>O tamanho do arquivo é maior que o tamanho permitido.</font>"; break; case 3: $mensagem = "<font color='#F00'>O upload do arquivo foi feito parcialmente.</font>"; case 4: $mensagem = "<font color='#F00'>Não foi feito o upload de arquivo.</font>"; break; } } else{ list($width_orig, $height_orig) = getimagesize($uploadfile); if($width_orig > $this->width || $height_orig > $this->height){ $this->redimensionar('./'.$caminho, $file['name']); } $mensagem = "<a href='".$uploadfile."'><font color='#070'>Upload realizado com sucesso!</font><a>"; } } } for($i = 0; $i < count($foto); $i++) { $foto = $_FILES['foto']; $tipo = explode('/', $foto['type']); $extensao = $tipo[1]; } if (!file_exists('imagens/')) { mkdir('imagens/', 0777, true); } $nome_imagem = md5(date('Y-m-d H:i:s')).'.'.$extensao; $i = 0; while($i <= 2000){//looping das resolucoes $i += 200; $resolucao = $i; if (!file_exists('imagens/'.$resolucao.'/')) { mkdir('imagens/'.$resolucao.'/', 0777, true); } } for($i = 0; $i < count($foto); $i++) { $upload = new UploadImagem(); echo $upload->salvar('imagens/', $foto, $nome_imagem[$i]); } for($i = 0; $i < count($foto); $i++) { $result = "INSERT INTO jogos (imagem) VALUES ('$nome_imagem')"; $resultado = mysqli_query($conn,$result); echo '<img width="200px" src="imagens/'.$nome_imagem.'">'; } //header('Location: http://www.highflexemborrachados.com.br/sistema/modelo.php'); ?>
-