← Desenvolvimento

Script em PHP para uma galeria de imagens rotativa

Lida 19579 vezes

Offline

kebrus 
Membro
Mensagens 459 Gostos 0
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

vi isto ainda à pouco e lembrei-me que uma vez fiz um codigo que gerava automaticamente o codigo html para cada smile, então pus-me a fazer, como tavam a falar do true random e isso, resolvi tentar fazer um em que as imagens não repetissem, o codigo é muito simples, e basta adicionar o link de destino e o link da imagem nos dois arrays, e a galeria é gerada automaticamente... demorou-me um bocado até arranjar uma maneira de o fazer, porque não estava a ver uma maneira de ele saber quais tinham sido as fotos já postadas senão através de scripts mais complexos (que guardavam informação em ficheiros e cenas do genero) por sorte o shuffle lá me bateu na cara quando fazia umas pesquisas no site do php ^^
Código: [Seleccione]
<?php
$link 
= array&#40;"http&#58;//urldolink1",
/* 1 */
"http&#58;//urldolink2",
/* 2 */ "http&#58;//urldolink3",
/* 3 */ "http&#58;//urldolink4"&#41;;
$imagem = array&#40;"imagem1.png",
/* 1 */
"imagem2.png",
/* 2 */ "imagem3.png",
/* 3 */ "imagem4.png"&#41;;
$disp count&#40;$link&#41;;
$numbers range&#40;0, &#40;$disp - 1&#41;&#41;;
shuffle&#40;$numbers&#41;;
foreach &#40;$numbers as $num&#41; &#123;
echo '<a href="'.$link[$num&#93;.'"><img src="'.$imagem[$num&#93;.'"></a>&nbsp';
&#125;
?>


uma coisa, aqueles /* 1 */ etc são capazes de dar jeito quando já se tens carradas de imagens e links com titulos diferentes, e assim visualiza-se melhor a coisa

vejam o script em funcionamento aqui:
http://hotteens.gratishost.com/random.php

se virem o codigo fonte vão ver que aqueles numeros que estão ao lado (que pus só para vcs verificarem) estão compativeis com os links

aquilo que ainda não consegui (tb ainda não me dediquei muito) foi conseguir por um limite de fotos que se mostram, tipo apesar de lá estarem 4 eu querer só 3 a mostrar por exemplo, conto convosco pra isso ^^
Offline

morpheus 
Membro
Mensagens 1199 Gostos 0
Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 1000 Posts

kebrus, é outra maneira de chegar ao mesmo destino. a tua solução é apenas um passo acima da escada (não tão fácil de entender a lógica para quem não percebe php).

quanto ao limitar o número de imagens que mostra, podes sempre usar um if...die;

pode é ter alguns resultados imprevistos... não aconselho ninguém a "matar" (die... eh eh) o script. :D
Offline

kebrus 
Membro
Mensagens 459 Gostos 0
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

Citação de: "morpheus"
kebrus, é outra maneira de chegar ao mesmo destino. a tua solução é apenas um passo acima da escada (não tão fácil de entender a lógica para quem não percebe php).
assim muito sinceramente parece mais facil só adicionar links do que pedaços de codigo, mas em todo o caso não tava a tentar fazer um script melhor que o teu, tal como disse lembrei-me do script para os smiles e tentei fazê-lo aí, como funcionou postei, desculpa se "rebaixei" o teu trabalho :oops:

Citação de: "morpheus"
quanto ao limitar o número de imagens que mostra, podes sempre usar um if...die;
cheguei a tentar um if e o famoso $i++ mas apesar e funcionar e delimitar as fotos para tres, o resto do script deixava de funcionar, e como não tava com muita paciencia não tentei mais :?
Offline

morpheus 
Membro
Mensagens 1199 Gostos 0
Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 1000 Posts

Citação de: "kebrus"
Citação de: "morpheus"
kebrus, é outra maneira de chegar ao mesmo destino. a tua solução é apenas um passo acima da escada (não tão fácil de entender a lógica para quem não percebe php).
assim muito sinceramente parece mais facil só adicionar links do que pedaços de codigo, mas em todo o caso não tava a tentar fazer um script melhor que o teu, tal como disse lembrei-me do script para os smiles e tentei fazê-lo aí, como funcionou postei, desculpa se "rebaixei" o teu trabalho :oops:

ei calma! não fiquei a pensar nada disso! e não, não rebaixaste nada! são diferentes. o teu é mais prático e o meu é mais para compreender a lógica do php.
Citação de: "kebrus"
Citação de: "morpheus"
quanto ao limitar o número de imagens que mostra, podes sempre usar um if...die;
cheguei a tentar um if e o famoso $i++ mas apesar e funcionar e delimitar as fotos para tres, o resto do script deixava de funcionar, e como não tava com muita paciencia não tentei mais :?

exactamente... o die mata o script por ali. ponto final. Mas, assim a olho, se puseres o famoso $i++ no fim do script (antes do "}") é capaz de funcar.
Offline

kebrus 
Membro
Mensagens 459 Gostos 0
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

ah! ok então ^^
Offline

fpware 
Fundador
Mensagens 15318 Gostos 7
Troféus totais: 38
Trófeus: (Ver todos)
Linux User Mobile User Level 6 Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5

Geek zone  :lol:
Offline

morpheus 
Membro
Mensagens 1199 Gostos 0
Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 1000 Posts

u geek wannabe!  :lol:
Offline

fpware 
Fundador
Mensagens 15318 Gostos 7
Troféus totais: 38
Trófeus: (Ver todos)
Linux User Mobile User Level 6 Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5

:lol:  :lol:  :lol:
Have no time for it
Offline

morpheus 
Membro
Mensagens 1199 Gostos 0
Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 1000 Posts

u wish! it's not a matter of time!  :twisted:
Offline

fpware 
Fundador
Mensagens 15318 Gostos 7
Troféus totais: 38
Trófeus: (Ver todos)
Linux User Mobile User Level 6 Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5

It's a matter of what then?
Offline

morpheus 
Membro
Mensagens 1199 Gostos 0
Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 1000 Posts

it' a matter of will, of curiosity, of knowing, a gift as its seen on the source code, as it is seen on the... Matrix!
and the world will be mine! mine I tell ya! bua ah ah ah

ok, seriously now. just a matter of time AND will!
Offline

fpware 
Fundador
Mensagens 15318 Gostos 7
Troféus totais: 38
Trófeus: (Ver todos)
Linux User Mobile User Level 6 Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5

:lol: In that case, it's  lack of will I guess...
Offline

morpheus 
Membro
Mensagens 1199 Gostos 0
Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 1000 Posts

Citação de: "fpware"
:lol: In that case, it's  lack of will I guess...


and, has u've said before, is also a lack of time... and time doesn't forgive!  :lol:

but anyway, u have other "gifts", remember! we cannot be masters at everything. We all have different domains of knowledge.

by the way... has the forum switched languages? as I remembered, this was an portuguese forum, right?
Offline

fpware 
Fundador
Mensagens 15318 Gostos 7
Troféus totais: 38
Trófeus: (Ver todos)
Linux User Mobile User Level 6 Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5

Sim, acho que sim, pelo menos quando o criei era um fórum português :lol:

It was just a good old british brainstorming ;)
Offline

morpheus 
Membro
Mensagens 1199 Gostos 0
Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 1000 Posts

Citar
It was just a good old british brainstorming


Would you care for a cup of tea? (ler com sotaque British de velha emproada...)  :twisted:  :twisted: