Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde Galera
///////foto.php////////////////
<?php
/**
* necessários para evitar cache
*/
function get_fotos(){
header('Pragma: public');
header('Expires: 0');
header('Cache-Control: private');
header('Content-Encoding: FOTO');
//checa se a imagem existe
if(file_exists('fotos/1.png')) {
$arq = 'fotos/1.png';
}else if(!file_exists('fotos/1.png')){
$arq = 'fotos/404.jpg';
}
/**
* determina o tipo de imagem, e exibe
* nesse caso, estamos usando jpg como padrão, poderia ser específico
*/
header('Content-Type: image/jpg, png');
header('Content-Length: '.filesize($arq));
readfile($arq);
}
?>
/////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////
///////////////exibibe.php///////////////
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<?php
include_once("foto.php");
get_fotos();
?>
</body>
</html>
//////////////////////////////////////////////////////////////
Meu objetivo é dificultar o download de imagens no site o script funciona perfeitamente porém o que eu quero é chamar a função get_fotos() que está no arquivo foto.php, no arquivo exibe.php fiz a chama porem não exibe nada alguem poderia me ajudar, o que estou fazendo de errado ?
OBS.: por enquanto a foto está estática futuramente sera dinâmica, vou passar como parâmetro isso é de menos.Gostaria mesmo é de saber por que não consigo chamar essa função na pagina exibe.php ?
Grato
cadmiel jorge
>
////////////// foto.php
// pegando o arquivo
$file = empty($_GET['file']) ? 'padrao.png' : $_GET['file'];
$dir = 'imagens/';
$fullname = $dir . $file;
if(!file_exists($fullname)){
$fulllname = 'imagens/padrao.png';
}
// mime type do arquivo
$info = finfo_open(FILEINFO_MIME_TYPE);
$mime = finfo_file($info, $fullname);
finfo_close($info);
header('Content-Type: '.$mime);
// fazendo a leitura aos poucos para nao comprometer recursos
$fp = fopen($fullname,'rb');
while(!feof($fp)){
echo fgets($fp, 1024);
}
fclose($fp);
Chamando a imagem
Arquivo exibe.php
<html>
<head>
<title>Teste</title>
</head>
<body>
<img src="foto.php?file=imagem.jpg" alt="" />
</body>
</html>
@braços e fique com Deus
Bom dia,
Cara não funcionou, tá dando um erro no arquivo foto.php nessa linha
$info = finfo_open(FILEINFO_MIME_TYPE);
Call to undefined function finfo_open();
vlw
>
////////////// foto.php
// pegando o arquivo
$file = empty($_GET['file']) ? 'padrao.png' : $_GET['file'];
$dir = 'imagens/';
$fullname = $dir . $file;
if(!file_exists($fullname)){
$fulllname = 'imagens/padrao.png';
}
// mime type do arquivo
$info = finfo_open(FILEINFO_MIME_TYPE);
$mime = finfo_file($info, $fullname);
finfo_close($info);
header('Content-Type: '.$mime);
// fazendo a leitura aos poucos para nao comprometer recursos
$fp = fopen($fullname,'rb');
while(!feof($fp)){
echo fgets($fp, 1024);
}
fclose($fp);
Chamando a imagem
Arquivo exibe.php
<html>
<head>
<title>Teste</title>
</head>
<body>
<img src="foto.php?file=imagem.jpg" alt="" />
</body>
</html>
@braços e fique com Deus
Cara só tem um problema, o seu script ele funcionou perfeitamente porem ele não restringe o download de imagens.
////////////// foto.php
// pegando o arquivo
if(!file_exists($fullname)){
// mime type do arquivo
// fazendo a leitura aos poucos para nao comprometer recursos
$fp = fopen($fullname,'rb');
while(!feof($fp)){
Chamando a imagem
Arquivo exibe.php
@braços e fique com Deus