Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Imagem condicional

20-01-2010 11:34

Como fazer para exibir uma imagem padrão, caso não exista a solicitada .

Tenho este script de um lightbox, funciona perfeitamente, eu preciso que ao ser cadastrada algum produto e caso não haja uma imagem para ele, apareça uma padrão .
<div id="gallery" align="center"> <?php $pasta = $_GET['id']; ?> <?php foreach (glob("imgmaior/$pasta/*.*") as $filename) { echo "<a href='$filename' target='_blank'><img src='$filename' width='150' height='113'></a> "; } ?> </div>


Desde ja agradeço qualquer ajuda.
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Imagem condicional

20-01-2010 13:26

Fiz desta forma, porém continuo sem a imagem padrão, fica sem nada.
<div id="gallery" align="center"> <?php $pasta = $_GET['id']; ?> <?php foreach (glob("imgmaior/$pasta/*.*") as $filename) { ($filename=='') ? print '<img src="imgmenor/semimagem.jpg" width="150" height="113" />' : print '<a href="'.$filename.'" target="_blank"><img src="'.$filename.'" width="150" height="113" /></a>'; echo " "; } ?> </div>

Quando tem imagem aparece normal estas imagens dos arquivos, só a padrão que é para aparecer quando não tenho imagem é que não aparece. :star
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Imagem condicional

20-01-2010 15:31

Favor não entenderem como repetição e ou postagem direta sem resposta, apenas estou atualizando este para uma solução mais completa.
...........

A verdade é que eu não posso usar foreach, da o seguinte erro Warning: Invalid argument supplied for foreach() in ....
Isto ocorre porque $pasta passa a não existir ja que não houve cadastro das imagens, logo imgmaior/$pasta/*.* não existe para aquele produto, qual a melhor forma de fazer ?
:?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17677
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Imagem condicional

20-01-2010 17:34

Usa @foreach...
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Imagem condicional

20-01-2010 21:03

Não entendi .... poderia mostrar um exemplo ....
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17677
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Imagem condicional

20-01-2010 21:36

O que indiquei foi usar o @ antes do foreach, inibe o erro.

@foreach (glob("imgmaior/$pasta/*.*") as...

No caso não é melhor você verificar se o diretório incluíndo a pasta existe antes de partir para o foreach?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Imagem condicional

20-01-2010 21:50

Desta forma :
if ($pasta == ''){ echo '<img src="imgmenor/semimagem.jpg" width="150" height="113" />'; }else { foreach (glob("imgmaior/$pasta/*.*") as $filename) { echo'<a href="'.$filename.'" target="_blank"><img src="'.$filename.'" width="150" height="113" /></a>'; } }

Não acontece nada .... mantem o erro.
Assim :
if (imgmaior/$pasta == ''){ echo '<img src="imgmenor/semimagem.jpg" width="150" height="113" />'; }else { foreach (glob("imgmaior/$pasta/*.*") as $filename) { echo'<a href="'.$filename.'" target="_blank"><img src="'.$filename.'" width="150" height="113" /></a>'; }

e :
if (imgmaior/$pasta == ''){ foreach (glob("imgmaior/$pasta/*.*") as $filename) { echo'<a href="'.$filename.'" target="_blank"><img src="'.$filename.'" width="150" height="113" /></a>'; } }else { echo '<img src="imgmenor/semimagem.jpg" width="150" height="113" />'; }

A imagem condicional é predominante, não aparece as demais, mesmo tendo elas.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17677
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Imagem condicional

21-01-2010 10:14

A verificação de se uma pasta existe não é da forma que você fez. No caso é usado o is_dir()

<?php if(is_dir("suapasta")) { echo "existe"; } else { echo "não existe"; } ?>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Imagem condicional

21-01-2010 10:58

RESOLVIDO.
Utilizei a função file_exists, Simples e Fácil.
Obrigado por todas as ajudas.

$caminho="imgmaior/$pasta"; if(file_exists($caminho)){ foreach (glob("imgmaior/$pasta/*.*") as $filename) { echo'<a href="'.$filename.'" target="_blank"><img src="'.$filename.'" width="150" height="113" /></a>'; } }else { echo '<img src="imgmenor/semimagem.jpg" width="150" height="113" />'; }

Antes de ver seu post ja havia conseguido, conforme acima.
Valeu. :D
0

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado