Arquivo .htaccess (deve estar dentro da pasta que vai conter as imagens que devem ser restritas a usuários logados) , nos exemplos abaixo , deve estar dentro da pasta images
# Bloqueia o acesso a arquivos gif, jpg, jpeg, bmp, png <FilesMatch "\.(gif|jpe?g|bmp|png)$"> Order allow,deny Deny from all Satisfy All </FilesMatch>
Arquivo filtra_imagem.php (arquivo responsável por ler a imagem e exibila quando o usuário estiver logado) e deve estar no mesmo nível do arquivo que o chama , que é pagina.php
<?php
$caminho_e_imagem = explode ('&',$_SERVER['QUERY_STRING']);
define('MAX_WIDTH', 200);
define('MAX_HEIGHT', 150);
// Pega onde está a imagem
$image_file = str_replace('..', '', $caminho_e_imagem[0]);
$image_path = str_replace('..', '', $caminho_e_imagem[1]).$image_file;
if ($extensao == 'jpg' || $extensao == 'jpeg')
{ $img = @imagecreatefromjpeg($image_path); }
else if ($extensao == 'png')
{
$img = @imagecreatefrompng($image_path);
// Se a versão do GD incluir suporte a GIF, mostra...
}
elseif ($extensao == 'gif')
{$img = @imagecreatefromgif($image_path);}
// Carrega a imagem
$img = null;
$extensao = strtolower(end(explode('.',$image_path)));
if ($extensao == 'jpg' || $extensao == 'jpeg')
{ $img = @imagecreatefromjpeg($image_path); }
else if ($extensao == 'png')
{
$img = @imagecreatefrompng($image_path);
// Se a versão do GD incluir suporte a GIF, mostra...
}
elseif ($extensao == 'gif')
{$img = @imagecreatefromgif($image_path);}
// Cria uma imagem de erro se necessário
if (!$img OR $_SESSION['logado'] != 1)
{
$img = imagecreate(MAX_WIDTH, MAX_HEIGHT);
imagecolorallocate($img, 204, 204, 204);
$c = imagecolorallocate($img, 153, 153, 153);
$c1 = imagecolorallocate($img, 0, 0, 0);
imageline($img, 0, 0, MAX_WIDTH, MAX_HEIGHT, $c);
imageline($img, MAX_WIDTH, 0, 0, MAX_HEIGHT, $c);
if($image_file == 'faca_login.jpg' OR $_SESSION['logado'] != 1)
{imagestring($img, 2, 9, 55, 'Faça o Login para ver a Imagem', $c1);}
else
{imagestring($img, 2, 12, 55, 'Imagem solicitada não exixte', $c1);}
}
// Mostra a imagem
header('Content-type: image/jpeg');
imagejpeg($img);
?>E por fim , sua pagina pagina.php onde deveriam estar as url's que mostram as imagens
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
// se estiver logado mostra a imagem
if($_SESSION['logado'] == 1)
{echo "<img border=\"0\" src=\"filtra_imagem.php?foto.jpg&images/\">";}
else
{echo "<img border=\"0\" src=\"filtra_imagem.php?faca_login.jpg&images/\">";}
?>
</body>
</html>onde foto.jpg é a imagem que será exibida só para usuários logados e está localizada dentro da pasta images
Abs.
Massa



Postagens
Não informado


