-
Similar Content
-
By LucasLV
Olá.
Tenho um site onde as imagens são geradas através de um arquivo PHP - utilizo esse método para retornar imagens webp ou jpg - e vi que o navegador não utiliza, ou não salva em cache, as imagens geradas dessa forma.
Já as onde informo o caminho completo da imagem com a extensão, aparecem como utilizadas do cache.
Esse comportamento é normal quando as imagens são geradas desse jeito ou é por não ter feito nenhuma configuração de cache no arquivo PHP que gera as imagens?
Coloquei uma imagem do resultado exibido no navegador.
-
By Wallcrawler
Olá pessoal tudo bem? Estou tentando fazer a cópia de uma imagem que está disponível na web e salvar em uma pasta no meu projeto. Essa imagem está sob protocolo SSL mas navegador consegue acessá-la normalmente. Mas o meu script php é bloqueado, e não entendo o porquê.
Segue o código que estou usando:
<?php //error_reporting(E_ALL ^ E_DEPRECATED); //ini_set('display_errors', 1); //die('Script travado!'); $start = microtime(true); set_time_limit(0); function save_image($inPath,$outPath) { //Download images from remote server $in = fopen($inPath, 'rb'); $out = fopen($outPath, 'wb'); while ($chunk = fread($in,8192)) { fwrite($out, $chunk, 8192); } fclose($in); fclose($out); } include_once ($_SERVER['DOCUMENT_ROOT'] . '/grpi/include/classes/Rpi.class.php'); include_once ($_SERVER['DOCUMENT_ROOT'] . '/grpi/include/functions.class.php'); $func = new FuncoesAuxiliares(); $rpi = new Rpi(); if(!isset($_GET['num_processo'])) { $rows = $rpi->Consulta('select num_processo, classe, especificacao from processos order by num_processo ASC limit 1'); } else { $rows = $rpi->Consulta("select num_processo, classe, especificacao from processos where num_processo > '" . $_GET['num_processo'] . "' order by num_processo ASC limit 1"); } $registros = 0; $arrayInsert = array(); $qtd_caracteres_total = 14; foreach ($rows as $rs) { //$rs['num_processo'] $zeros = ''; $qtd_char_processo = strlen($rs['num_processo']); //Fill zeros for($i=0; $i < ($qtd_caracteres_total - $qtd_char_processo); $i++) { $zeros .= '0'; } echo('BR5' . $zeros . $rs['num_processo'] . '<br>'); $url = 'http://www.tmdn.org/tmview/trademark/image/BR5' . $zeros . $rs['num_processo']; //Aqui tento acessar a imagem e salvar na pasta correspondente save_image($url, __DIR__ .'/logo/' . $rs['num_processo'] . '.jpg'); //copy('https://www.tmdn.org/tmview/trademark/image/BR5' . $zeros . $rs['num_processo'], __DIR__ .'/logo/' . $rs['num_processo'] . '.jpg'); $processo = $rs['num_processo']; $registros++; } $registros = number_format($registros, 0, ',', '.'); // Display Script End time $time_end = microtime(true); //dividing with 60 will give the execution time in minutes other wise seconds $execution_time = ($time_end - $start)/60; //execution time of the script echo '<b>Total Execution Time:</b> '. $execution_time .' Mins <hr><br><br>Registros: ' . $registros . '<br><br>'; echo("<a href='down_logo.php?num_processo=" . $processo ."' target='_self'>Próxima página</a><br><br>"); ?> O erro retornado é o seguinte:
Warning: fopen(): SSL: Connection reset by peer in /home/storage/8/23/2c/euregistrogrpi/public_html/grpiv2/rpi/down_logo.php on line 10
Warning: fopen(http://www.tmdn.org/tmview/trademark/image/BR500000825642590): failed to open stream: HTTP request failed! in /home/storage/8/23/2c/euregistrogrpi/public_html/grpiv2/rpi/down_logo.php on line 10
Warning: fread() expects parameter 1 to be resource, boolean given in /home/storage/8/23/2c/euregistrogrpi/public_html/grpiv2/rpi/down_logo.php on line 12
Warning: fclose() expects parameter 1 to be resource, boolean given in /home/storage/8/23/2c/euregistrogrpi/public_html/grpiv2/rpi/down_logo.php on line 16
Só que se você tentar acessar o endereço no browser, diretamente, a imagem aparece:
https://www.tmdn.org/tmview/trademark/image/BR500000825642590
Onde posso estar errando? Obrigado pela atenção de todos.
-
By Artur Mendonça
Olá amigos.
espero que estejam todos bem.
Estou tentando criar uma galeria de imagens e colocar nestas um botão para votação (Gosto como no Facebook).
Já consegui criar a galeria e colocar o Like nas imagens, mas acontece que quando as imagens passam para a linha de baixo o botão Like não acompanha a imagem.
Junto uma imagem para exemplificar como está e como deveria ser.
O CSS está assim
h1 { text-align: center; color: forestgreen; margin: 30px 0 50px; } .container h2 { text-align: center; color: rgb(8, 8, 8); margin: 30px 0 50px; } .gallery { margin: 10px 50px; padding-right: 0px; padding-left: 0px; } .gallery img { width: 230px; padding: 0px; opacity: 0.5; filter: grayscale(10%); transition: 1s; margin-top: 10px; margin-left: 10px; margin-bottom: 10px; margin-right: 0px; border: 2px solid #ccc; border-radius: 10%; } .ilike { display: grid; border-radius: 10%; box-sizing: border-box; text-align: left; padding: 15px; font-size: 20px; vertical-align: top; position: absolute; z-index: 1000; margin-top: 10px; margin-left: 10px; overflow: hidden; color: white; } O código da página da galeria de fotos está assim:
<div class="gallery"> <?php $sql = "SELECT * FROM tbl_gallery where aid=$aid"; $num_rows = mysqli_num_rows(mysqli_query($conectar, $sql)); $result = mysqli_query($conectar, $sql); while ($row = mysqli_fetch_array($result)) { $gimage = $row['gimages']; $fotoid = $row['gid']; $likes = $row['likes']; ?> <a href="páginapararegistarovoto" ?> "><i class="far fa-thumbs-up ilike" alt="Vote"> <?php echo $likes; ?> </i></a> <i class="inum" > <?php echo "Foto " . $fotoid; ?> </i> <?php echo "<a href='../fotos/$gimage' data-lightbox='mygallery' data-title='Foto n.º: $fotoid'><img src='../thumbnails/$gimage' class='pic'></a>"; } ?> </div>
-
By Alberto Nascimento
Como consigo salvar o "novo nome" da imagem que foi enviada para o servidor por meio de UPLOAD no mesmo registro em que estão sendo salvos os dados do formulário no banco de dados através do PHP.
Consigo salvar os campos do formulário, mas o nome que é gerado ao enviar a imagem, não estou conseguindo.
<?php include 'conecta_mysql.inc'; if(isset($_FILES['arquivo']['name']) && $_FILES["arquivo"]["error"] == 0) { echo "<center>Você enviou o arquivo: <strong>" . $_FILES['arquivo']['name'] . "</strong><br /></center>"; echo "<center>Seu tamanho é: <strong>" . $_FILES['arquivo']['size'] . "</strong> Bytes<br /><br /></center>"; $arquivo_tmp = $_FILES['arquivo']['tmp_name']; $nome = $_FILES['arquivo']['name']; $extensao = strrchr($nome, '.'); $extensao = strtolower($extensao); if(strstr('.jpg;.jpeg;.gif;.png', $extensao)) { $novoNome = md5(microtime()) . '.' . $extensao; $destino = 'imagens/' . $novoNome; if( @move_uploaded_file( $arquivo_tmp, $destino )) { echo "<br>"; echo "<img src=\"" . $destino . "\" />"; echo "<br>"; } else echo "Erro ao salvar o arquivo. Aparentemente você não tem permissão de escrita.<br />"; } else echo "Você poderá enviar apenas arquivos \"*.jpg;*.jpeg;*.gif;*.png\"<br />"; } else { echo "<center><h1>Você não enviou nenhum arquivo!</h1></center>"; echo "<center><br><h3><a href='javascript:window.history.go(-1)'>Clique aqui para volta.</a></h3></center>"; } $codphoto = $_POST['codphoto']; $nome = $_POST['nome']; $datafotografia = $_POST['datafotografia']; $photography = $_POST['novoNome']; $sql = "INSERT INTO photograph VALUES"; $sql .= "( '$codphoto', '$nome', '$datafotografia', '$photography' )"; if ($conexao->query($sql) === TRUE) { echo "<center> <h2> Obrigado !! Envio realizado com sucesso !! </h2></center>"; echo "<center><br><h3><a href='LINK_SITE'>ENVIAR OUTRA FOTOGRAFIA</a></h3></center>"; } else { echo "Erro: " . $sql . "<br>" . $conexao->error; } $conexao->close();
-
By Gustavo2503
Estes são alguns pontos do que eu preciso
Eu tenho um sistema que em cada registro tem um ou mais anexos. Os nomes destes anexos estão guardados no banco de dados, e os arquivos ficam na pasta anexos/ no servidor. O usuário manda este registro via email e os anexos devem ir juntos. Eu estou usando a função do PHP mail(). Objetivo: Enviar um email com um ou mais anexos
Problema: Este código só está enviando um anexo, que é o último anexo que a query pega.
OBS.: Eu não entendo de boundary e de anexos por email, eu peguei esse código na internet, mas eu fiz algumas alterações nele, porque no código original só mandava um anexo.
$assunto = "Registros"; $boundary = "XYZ-".md5(date("dmYis"))."-ZYX"; // cabeçalho do email $cabecalho = "MIME-Version: 1.0" . PHP_EOL; $cabecalho .= "Content-Type: multipart/mixed; "; $cabecalho .= "boundary=" . $boundary . PHP_EOL; $cabecalho .= "$boundary" . PHP_EOL; $msg = ""; // Anexos $sql = " SELECT A.LOCAL, A.ARQUIVO FROM TB_ANEXOS AS A LEFT JOIN TB_REGISTROS AS R ON (A.ID_REGISTRO = R.ID) WHERE R.ID = $ID "; $resultado = mysqli_query($link, $sql); if ($resultado){ while ($dados = mysqli_fetch_array($resultado, MYSQLI_ASSOC)){ $LOCAL = $dados['LOCAL']; $ARQUIVO_NAME = $dados['ARQUIVO']; $path = 'anexos/'.$LOCAL; $fileType = mime_content_type( $path ); // Pegando o conteúdo do arquivo $fp = fopen( $path, "rb" ); // abre o arquivo enviado $anexo = fread( $fp, filesize( $path ) ); // calcula o tamanho $anexo = chunk_split(base64_encode( $anexo )); // codifica o anexo em base 64 fclose( $fp ); // fecha o arquivo $msg.= "Content-Type: ". $fileType ."; name=\"". $ARQUIVO_NAME . "\"" . PHP_EOL; $msg.= "Content-Transfer-Encoding: base64" . PHP_EOL; $msg.= "Content-Disposition: attachment; filename=\"". $ARQUIVO_NAME . "\"" . PHP_EOL; $msg.= "$anexo" . PHP_EOL; $msg.= "--$boundary" . PHP_EOL; } } $msg.= "--$boundary" . PHP_EOL; $msg.= "Content-Type: text/html; charset='utf-8'" . PHP_EOL; $msg.= " <!doctype html> <html lang='pt-br'> <head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0'> <meta http-equiv='X-UA-Compatible' content='ie=edge'> <title>$assunto</title> <style> h2, b, legend { color: #2d2d2d; } </style> </head> <body> <p>CORPO DO EMAIL</p> </body> </html> "; $msg.= "--$boundary" . PHP_EOL; if(mail($para, $assunto, $msg, $cabecalho)) { echo "<p>Email enviado com sucesso</p>"; } else { echo '<p style="color: #f00">Erro!</p>'; }
-
Tenho apenas 500k de armazenamento aqui no FÓRUM, já coloquei algumas imagens para ajudar alguns inscritos a solucionar os problemas, porém agora, estou com apenas 67,47k de armazenamento e não consigo colocar mais imagens nos tópicos.
Minha dúvida é como faço para deletar as imagens que anexei aqui no fórum e liberar espaço para poder armazenas novas imagens?
Se alguém puder me ajudar fica agradecido.
Fico no aguardo.
Att.
Felipe Coutinho
Share this post
Link to post
Share on other sites