Ir para conteúdo
  • ×   Você colou conteúdo com formatação.   Remover formatação

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

  • Conteúdo Similar

    • 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 tânia Rodrigues
      Olá comunidade PHP. Estou precisando de uma ajuda. será que alguém poderia me indicar alguma biblioteca ou código que converta arquivos .dxf para extensões comuns de imagem? (jpg, png, etc...) 
      Tenho que entregar um trabalho e já estou doida com isso aqui.
      Se alguém puder ajudar ficarei muito agradecida.
      Bom fim de semana a todos.
    • Por gustalevin
      Criei o seguinte formulário abaixo no site de um cliente, pra que se possa fazer a troca da foto de um usuário:
      <form id="formulario" method="post" enctype="multipart/form-data"> <div class="blocoCampo"> <span> Escolher nova foto (dimensões: 50px x 50px; formato: JPG) </span> <input type="file" id="imgupload" name="imgupload"> </div> <div class="confirmarTrocaSenha"> <input type="button" value="" id="btn_troca_foto"> </div> </form> Em seguida, eu criei na função abaixo (javascript) pra ele conferir a extensão e as medições em Pixels do arquivo. Ele deve ser sempre 50x50 e JPG:
      var _URL = window.URL || window.webkitURL; $("#imgupload").change(function (e) { // Aqui verifica as dimensões e a extensão do arquivo var foto = $('#imgupload').val(); var extensao = foto.substr(foto.length - 3); var file, img; if ((file = this.files[0])) { img = new Image(); img.onload = function () { if(this.width !== 50){ alert('Dimensões não permitidas!'); $("#imgupload").val(''); } else if(this. height !== 50){ alert('Dimensões não permitidas!'); $("#imgupload").val(''); } else if(extensao != 'jpg'){ alert('Extensão não permitida!'); $("#imgupload").val(''); } }; img.src = _URL.createObjectURL(file); } }); E abaixo é a função que deve hospedar a foto, depois que a mesma for carregada:
      $('#btn_troca_foto').click(function(){ var imgupload = $('#imgupload').val(); if(imgupload == ''){ alert("Nenhuma foto selecionada!"); } else{ $.ajax({ url: "trocarfoto", type: "POST", data: { imgupload: imgupload }, success:function(a){ alert(a); $('.contentLightbox, .bgLightbox').fadeOut(); } }); } }); E o link da função trocarfoto está em PHP abaixo:
      public static function trocaFoto() { @mkdir('upload/wt_usuario', 0777); $target = "upload/wt_usuario/" . $_SESSION['usuario']['id'] . ".jpg"; move_uploaded_file($_FILES['imgupload']['tmp_name'], $target); echo "Foto de perfil alterada"; } Tudo funcionando, menos a parte da função move_uploaded_file, que deveria pegar o arquivo que está no input imgupload e transferir pro diretório no servidor do meu site.
      O que será que tem de errado ou que pode estar faltando? Sei que procurando na internet tem várias formas de fazer, mas acredito que esteja faltando apenas algum detalhes no meu código.
      Agradeço quem puder ajudar.
    • Por gustalevin
      Possuo no site de um cliente uma parte onde mostra o nome do usuário logado, a unidade onde ele trabalha e a foto do usuário.
      Estou querendo implementar uma função automatizada (em javascript e php) para que quando o usuário clique na foto abra automaticamente a janela de escolha de arquivos pra ele poder substituir a foto, se ele quiser.
      O código em HTML dessa parte da foto e um input de file oculto:
      <a title="Clique aqui para trocar sua foto" onclick='trocarFoto()'><img class='FotoAniversariante' <?php echo "src='".'upload/wt_usuario/'.$_SESSION['usuario']['id'].".jpg'></a>"; ?> <input type="file" id="imgupload" style="display:none" /> <button id="novaFoto" style="display: none"></button> E a função trocarFoto() em javascript:
      function trocarFoto(){ $('#imgupload').trigger('click'); } O que eu queria era que, no momento em que o novo arquivo fosse escolhido, que ele já hospedasse no diretório do meu servidor (upload/wt_usuario). Acredito que tenha que ser uma função que envolva AJAX.
      Mas eu também preciso garantir que ele só aceita JPG e com dimensões de 50 por 50. Como isso é possível?
    • Por hostbasico
      Em meu servidor a função exec() não é permitida.
      Existe alguma outra forma de efetuar essa conversão?
       
      Agradeço desde já pois preciso efetuar essas conversões para exibição de uma capa.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.