[php] transparent gifje over random plaatje

Pagina: 1
Acties:

  • Agent-X
  • Registratie: Januari 2000
  • Niet online
Kan iemand mij vertellen hoe ik een transparent gifje over een willekeurig plaatje plaats? (deze wordt via een echo in php weergegeven)

Ik zie niet hoe ik dit in php met table of css kan doen omdat het om random plaatjes gaat.


Dus het plaatje wordt via plaatje.php ge-include op een pagina en over dat plaatje (of include?) wil ik een transparant gifje plaatsen.

Een link naar een uitleg vind ik ook prima :)

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

zoiets?

code:
1
2
3
<div style='background-image:url('randomphpplaatje.jpg'); width: randomphpplaatje width; height: randomphpplaatje height;">
[img]"transpanrant[/img]
</div>

[ Voor 16% gewijzigd door SchizoDuckie op 23-10-2004 14:35 ]

Stop uploading passwords to Github!


  • Agent-X
  • Registratie: Januari 2000
  • Niet online
Zoiets probeerde ik ook maar wat ik niet goed begrijp is wat ik dan gebruik als 'randomphpplaatje.jpg' , dit omdat het plaatje vanuit plaatje.php (random scriptje) ge-echo'd wordt.
Kan ik dan gewoon plaatje.php gebruiken?

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 13:32
Agent-X schreef op 23 oktober 2004 @ 14:46:
Zoiets probeerde ik ook maar wat ik niet goed begrijp is wat ik dan gebruik als 'randomphpplaatje.jpg' , dit omdat het plaatje vanuit plaatje.php (random scriptje) ge-echo'd wordt.
Kan ik dan gewoon plaatje.php gebruiken?
Ja, je kunt gewoon url("plaatje.php") gebruiken. Overigens als je toch al een random plaatje gebruikt, kun je dan niet beter het overelkaar plaatsen al in PHP doen?? Als je verschillende voorgrondplaatjes hebt kun je desnoods een GET var gebruiken om de voorgrond te bepalen...

[ Voor 4% gewijzigd door T-MOB op 23-10-2004 14:53 ]

Regeren is vooruitschuiven


  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
T-MOB schreef op 23 oktober 2004 @ 14:52:
[...]

Overigens als je toch al een random plaatje gebruikt, kun je dan niet beter het overelkaar plaatsen al in PHP doen??
Ja man, een transparant gifje in PHP over een random plaatje heen leggen :7

Dit is vast voor een anti-right-click-save-as ding :)

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 13:32
Genoil schreef op 23 oktober 2004 @ 15:09:
[...]
Ja man, een transparant gifje in PHP over een random plaatje heen leggen :7

Dit is vast voor een anti-right-click-save-as ding :)
* T-MOB Dacht aan een gifje met een trensparante achtergrond...

Regeren is vooruitschuiven


  • Agent-X
  • Registratie: Januari 2000
  • Niet online
Bedankt voor de hulp, ik ga het eens proberen!
@Genoil, idd :)

  • Agent-X
  • Registratie: Januari 2000
  • Niet online
T-MOB schreef op 23 oktober 2004 @ 14:52:
[...]

Ja, je kunt gewoon url("plaatje.php") gebruiken. Overigens als je toch al een random plaatje gebruikt, kun je dan niet beter het overelkaar plaatsen al in PHP doen?? Als je verschillende voorgrondplaatjes hebt kun je desnoods een GET var gebruiken om de voorgrond te bepalen...
Ik ben helaas niet echt goed in PHP en weet niet hoe ik dit om het bestaande 'random scriptje' maak.

Ook kan ik niet 'plaatje.php' gebruiken ipv een link naar een gifje, waar kan dat aan liggen?

wel
code:
1
2
3
<div style=background-image:url(plaatjes/2.gif); width: 100; height: 100;">
[img]"transparent.gif"[/img]
</div>


niet

code:
1
2
3
<div style=background-image:url(plaatje.php); width: 100; height: 100;">
[img]"transparent.gif"[/img]
</div>


plaatje.php
code:
1
2
3
4
5
6
7
8
9
<?php 
$total = "41"; //totaal aantal 
$file_type = ".gif";  //type 
$image_folder = "/~sjmolena/plaatjes";  //folder 
$start = "1"; 
$random = mt_rand($start, $total); 
$image_name = $random . $file_type; 
echo "<a HIDEFOCUS=true href=http://www.few.vu.nl/~dtvdwate/>[img]\"$image_folder/$image_name\"[/img]</a href>";
?>

[ Voor 24% gewijzigd door Agent-X op 23-10-2004 16:28 ]


  • GambitRS
  • Registratie: Juni 2001
  • Laatst online: 13-06-2013

GambitRS

w00t

copy paste anders de code in plaatje.php naar dat andere script en gebruik daarna $image_folder/$image_name\ als image source. Je zou gewoon een functie moeten maken die heet getRandomPlaatje die je daarna gewoon aanroept (als je meerdere keren een random plaatje wilt laten zien, anders laat je het gewoon zo)

MechWarrior || Monsters Game


  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
T-MOB schreef op 23 oktober 2004 @ 15:35:
[...]

* T-MOB Dacht aan een gifje met een trensparante achtergrond...
* Genoil had daar nog niet aan gedacht :)

  • Agent-X
  • Registratie: Januari 2000
  • Niet online
@GambitRS, '$image_folder/$image_name' wordt toch niet herkend buiten het php stukje en div kan ik weer niet binnen de php gebruiken...

@Genoil, lees ik nu over een oplossing heen? :)

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
Agent-X schreef op 23 oktober 2004 @ 17:13:
@Genoil, lees ik nu over een oplossing heen? :)
nee ik had het tegen T-MOB :)

de reden waarom het niet werkt is dat je random-plaatje-script een stukje html produceert met daarin een <img>-tag die naar het plaatje verwijst. CSS snapt daar natuurlijk helemaal niets van.

je wilt iets als dit:
PHP:
1
2
3
4
5
6
7
8
9
<?php

header("Content-type: image/jpeg");
$pad_naar_random_plaatje = mijnRandomPadNaarPlaatjeGenerator();
$im    = imagecreatefromjpeg($pad_naar_random_plaatje);
imagejpeg($im);
imagedestroy($im);

?> 


nu is de output van je php script letterlijk het plaatje. mijnRandomPadNaarPlaatjeGenerator() moet je natuurlijk even zelf implementeren, daarvoor kun je de code uit je huidge script gebruiken.

==edit==
je hebt hier wel de gd library nodig.

[ Voor 7% gewijzigd door Genoil op 23-10-2004 18:25 ]


  • Agent-X
  • Registratie: Januari 2000
  • Niet online
Zo, dat ziet er veel belovend uit.
Ik heb alleen wat JAVA kennis en natuurlijk wat html en basic php.
Kun je me op weg helpen met het implementeren van mijnRandomPadNaarPlaatjeGenerator() of een link geven waar dit gedaan wordt? :)

Is imagecreatefromjpeg() een standaard functie?

Iig bedankt alvast voor de info!

UPDATE: het lijkt er op dat ik 'gd library' niet kan gebruiken, ik kan deze niet zelf installeren dus is er misschien een alternatief?

[ Voor 21% gewijzigd door Agent-X op 23-10-2004 19:30 ]


  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 13:32
Als je niets hoeft te bewerken aan de plaatjes heb je in principe geen GD nodig. Je kunt dan met readfile() de data uit het plaatje lezen en die doorsturen met de juiste headers.

==edit==
voorbeeldje:
PHP:
1
2
3
4
5
//passtrough jpeg file
    header('content-type: "image/jpeg"');
    readfile ('files/' .$plaatje);
    exit;
}

[ Voor 30% gewijzigd door T-MOB op 23-10-2004 20:43 ]

Regeren is vooruitschuiven


  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
Agent-X schreef op 23 oktober 2004 @ 19:21:
Kun je me op weg helpen met het implementeren van mijnRandomPadNaarPlaatjeGenerator() of een link geven waar dit gedaan wordt? :)
het is natuurlijk mijnPadNaarRandomPlaatjeGenerator() :)

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/**
*@return string
*/
function mijnPadNaarRandomPlaatjeGenerator() {
    $image_folder = "/~sjmolena/plaatjes/"; 
    $start = 1;  
    $total = 0;
    if ($handle = opendir($image_folder)) {
       while (false !== ($file = readdir($handle))) {
            if(is_dir($file)) $total++;
       }
       closedir($handle);
       $random = mt_rand($start, $total);
       return $image_folder.$random.".jpg";
    }
    else {
        return null;
    }
}


+ wat T-MOB zegt en moet je er wel zo'n beetje zijn 8)

==edit==
nu je met deze functie toch al door de inhoud van de hele dir heenfietst, kun je natuurlijk ook de filenames van de plaatjes uitlezen en in een array stoppen. het getal wat uit je random komt (behalve dan dat $start = 0 en $total =$total - 1) kun je dan gebruiken als index om in de array het juiste plaatje eruit te vissen. dan hoef je ook niet alles meer "1.jpg", "2.jpg" etc te noemen, maar kun je gewoon de originele namen blijven behouden. en gif/png werkt dan natuurlijk ook gewoon.

[ Voor 25% gewijzigd door Genoil op 23-10-2004 22:03 ]


  • Agent-X
  • Registratie: Januari 2000
  • Niet online
@T-MOB, dat werkt, bedankt!
@Genoil, ik ga het proberen, ook bedankt!
Pagina: 1