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.
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:
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.
e aí galera... então tô querendo fazer um sistema de validar a senha por um código enviado pro email da criatura na hora de fazer o cadastro. tive duas ideias aqui...
1. criar um campo na tabela de usuarios mesmo vamos dizer de nome status onde na hora do cadastro mete lá o código gerado randomicamente e manda o email pra pessoa e aí a pessoa insere o código recebido no email e bota ele num campo de formulário pra enviar pro sistema e então vai e bota confirmado no lugar do código na tabela e a partir daí, uma vez que foi confirmado entra normalmente.
2. criar uma tabela com o id da criatura e o o código e então a pessoa insere o código e aí bota confirmado ou exclui a linha já que ela pode não ser necessária pois nesse caso a ideia é se tem a linha é porque ainda não confirmou e se não tem é porque já confirmou.
ora pois eu cá acho que a primeira ideia é mais pratica porque não precisa de duas querys ou join pra fazer isso o que poupa recurso do sistema mas vocês faz de forma diferente? tem alguma outra técnica mais eficaz e própria pra isso?