plaatje laten rouleren

Status
Niet open voor verdere reacties.

arienlans

Gebruiker
Lid geworden
15 aug 2008
Berichten
172
ik heb nu een scriptje om een plaatje te laten rouleren is het ook mogelijk om het plaatje elke 3 sec te rouleren?
PHP:
<?php
srand(time());
$n = (rand()%3);
echo("<img alt=\"header".$n."\" src=\"http://www.website.nl/kolom/bedrijf".$n.".PNG\" height=\"170\" width=\"170\" />");
?>
 
Dat is mogelijk ja, via een Javascriptje.

Je moet er eentje aanhangen die elke 3 seconden aangeroepen wordt, en die de src van het plaatje aanpast. Als je niet bekend bent met Javascript kun je even kijken op w3schools.com of hier op het forum in het javascript gedeelte.
 
Je zou iets van een slideshow kunnen gebruiken.

Ik voeg voor 2 bestanden de code toe en noem deze index.php en scale.php.
Zet de twee php bestanden in één map en maak in deze map een map aan en noem deze pics. In deze pics map kan je de afbeeldingen zetten die je wilt gebruiken.
Als je de duur van de afbeeldingen wilt veranderen, deze staat nu op 5000 ( regel 42 in het index.php bestand )

Natuurlijk kan je de achtergrond wijzigen, deze is nu zwart ( op regel 14 van het index.php bestand ) Of natuurlijk andere wijzigingen aanbrengen. Het is maar een basis script.


Succes er mee.


index.php

PHP:
<?php
$dh = new DirectoryIterator( "pics" );

$files = array();
foreach( $dh as $file )
{
  if ( preg_match( "/[.]jpg$/", $file ) ) $files []= "$file";
}
?>
<html>
<head>
<title>Slideshow</title>
<style>
body { background: black; }
#thumbnails { height: 140px; width: 100%; overflow: auto; }
#pic { text-align: center; height: 400px; padding: 20px; }
</style>
<script>
var image_list = [
<?php $first = true; foreach( $files as $image ) { ?>
<?php echo( $first ? "" : ", " ); ?>"<?php echo( $image ); ?>"
<?php $first = false; } ?>
];

var curimage = 0;

function switchimg( ind )
{
  var image = image_list[ind];
  var obj = document.getElementById( "selimg" );
  obj.src = "scale.php?image="+image+"&y=400";
  curimage = ind;
}

function nextimage()
{
  curimage++;
  if ( curimage >= image_list.length ) curimage = 0;
  switchimg( curimage );
}

window.setInterval( "nextimage()", 5000 );
</script>
</head>
<body>
<div id="thumbnails">
<table width="100%">
<tr>

</tr>
</table>
</div>
<div id="pic">
<img id="selimg" height="400" src="scale.php?image=<?php echo($files[0]); ?>&y=400" />
</div>
</body>


scale.php

PHP:
<?php
$image = $_GET["image"];
$maxy = $_GET["y"];

$im = @imagecreatefromjpeg( "pics/".$image );
$curx = imagesx( $im );
$cury = imagesy( $im );
$ratio = $maxy / $cury;
$newx = $curx * $ratio;
$newy = $cury * $ratio;

$oim = imagecreatetruecolor( $newx, $newy );
imageantialias( $oim, true );
imagecopyresized( $oim, $im, 0, 0, 0, 0,
	$newx, $newy, $curx, $cury );

header( "content-type: image/jpeg" );
imagejpeg( $oim );
?>
 
Laatst bewerkt:
fout melding

ik heb een map pics gemaakt met daar in een aantal plaatjes, met daarin ook de twee bestanden.
Nu krijg ik een foutmelding, wat doe ik fout?

Fatal error: Uncaught exception 'RuntimeException' with message 'DirectoryIterator::__construct(plaatje) [<a href='function.DirectoryIterator---construct'>function.DirectoryIterator---construct</a>]: failed to open dir: No such file or directory' in /home/sites/228/http/pics/index.php:2 Stack trace: #0 /home/sites/228/http/pics/index.php(2): DirectoryIterator->__construct('plaatje') #1 {main} thrown in /home/sites/228/http/pics/index.php on line 2

Ariën
 
plaatje niet zichtbaar

ik krijg een X te zien inplaats van een plaatje
in de bron staan de plaatjes wel maar geeft ze niet weer op de pagina, ik krijg deze fout: onder aan de pagina

Foutdetails webpagina

Gebruikersagent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Tijdstempel: Tue, 20 Jul 2010 14:51:14 UTC


Bericht: 'null' is leeg of geen object
Regel: 25
Teken: 3
Code: 0
URI: http://www.mijnsite.nl/plaatje/index.php
 
ik lijk wel gek geworden ik heb alles gewoon precies overgenomen en geplakt in een map test dan.

helaas geen plaatje?

snap er echt echt niets van raar dat het bij mij niet werkt

alles staat goed maar er lijkt er op dat er iets niet goed gaat in scale.php

?????

beetje lastig sorry maar heb je nog een ideetje

Arien
 
ik heb een map pics gemaakt met daar in een aantal plaatjes, met daarin ook de twee bestanden.
Nu krijg ik een foutmelding, wat doe ik fout?

Fatal error: Uncaught exception 'RuntimeException' with message 'DirectoryIterator::__construct(plaatje) [<a href='function.DirectoryIterator---construct'>function.DirectoryIterator---construct</a>]: failed to open dir: No such file or directory' in /home/sites/228/http/pics/index.php:2 Stack trace: #0 /home/sites/228/http/pics/index.php(2): DirectoryIterator->__construct('plaatje') #1 {main} thrown in /home/sites/228/http/pics/index.php on line 2

Ariën

Toch nog even een Quote.

Die laatste melding thrown in /home/sites/228/http/pics/index.php on line 2
Hier staat dat je het index.php in de map pics hebt gezet.
Dat had ik niet geschreven !!
 
dat klopte daar en heb dat ondertussen aangepast.

het lijkt net of die het plaatje kwijt raakt, als ik de bron weer laat geven dan staan de plaatjes er wel maar hij geeft ze niet weer ik heb ook de url aan aan gepast maar dat haalt tot nu toe niets uit

helaas

Ariën
 
Zet er eens jpeg afbeeldingen in, ik gebruik nooit PNG bestanden.

Waarschijnlijk als je scale.php veranderd op regel 5 en 17 en 18 naar PNG werkt het wel met PNG bestanden.
 
Laatst bewerkt:
Ik haak ffkes in, Mickeys Monkey, ik was op zoek naar iets dergelijks wat je in deze post hebt gezet, mag ik het gebruiken, en naar wens aanpassen?
 
noppes

ik blijf een kruis krijgen ik heb het geprobeert met .png .jpg .jpeg met en zonder hoofdletters.

moet er bij index.php er als laatste regel nog </html> staan?

in alle gevallen staat er in de bron mijn plaatjes, ook jou plaatjes die je had bij gevoegd doen het niet?

Ariën
 
Ik weet niet precies wat je "fout doet", maar ik heb het in 3 min. werkend en aangepast naar mijn wens?
Heb je de map waar de foto's in staan pics genoemd?

En waar in je site zet je de files neer?(kan van belang zijn, misschien moet je de paden wat aanpassen in t script.)
 
ik heb nog een keer alles uitgepakt en geplakt en getest. noppes?

als is scale.php aanroep krijg ik de volgende fout meldingen

Warning: imagesx(): supplied argument is not a valid Image resource in /home/sites/228/http/test/scale.php on line 6

Warning: imagesy(): supplied argument is not a valid Image resource in /home/sites/228/http/test/scale.php on line 7

Warning: Division by zero in /home/sites/228/http/test/scale.php on line 8

Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in /home/sites/228/http/test/scale.php on line 12

Fatal error: Call to undefined function imageantialias() in /home/sites/228/http/test/scale.php on line 13

Ariën
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan