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:
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.
Como colocar uma imagem no html/css sem que a qualidade dela não decaia? Eu fiz os procedimentos abaixo, achando que a coisa pudesse melhorar, porém a imagem horizontalmente fica esticada, toda a resolução se perde. O que eu quero é justamente fazer com que o width fique completo e o height no 300px, porém com uma qualidade boa.
Pessoal Eu Recentemente estava fazendo um gerador de qr-code, e preciso criar um botão que quando a pessoa clique apareça para poder baixar/fazerdownload da imagem gerada, pode me ajuda? to preso nisso faz tempo, e se puderem podem Organizar o codigo para mim?