[PHP] Random avatar

Pagina: 1
Acties:
  • 48 views sinds 30-01-2008

  • Venxir
  • Registratie: Augustus 2001
  • Laatst online: 06-05 16:14
Ik zit met een klein probleem, ik heb een random avatar php scriptje draaien op mijn webserver die perfect werkt in IE maar niet in Firefox. Ik vroeg me af of iemand hier weet waar het probleem ligt.

Het betreft deze link: http://www.mtonissen.nl/got/avatars/image.jpg

Dit ''plaatje'' is niet meer dan een PHP scriptje dat zo gaat:
<?PHP
$dp=opendir(".");
while ($file=readdir($dp)) {
$filenames[]=$file;
}
sort($filenames);
for ($i=0; $i<count($filenames); $i++) {
if (substr($filenames[$i],0,1)!="." && $filenames[$i]!="image.jpg") {
$files[]=$filenames[$i];
}
}
$filename=$files[rand(0,count($files)-1)];
$f = fopen($filename, "r");
$contents = fread($f, filesize($filename));
fclose($f);
print($contents);
?>

(oftwel: Basically this script reads the files in the avatar dir avoiding itself (image.jpg) and "." and ".." and ".htaccess" which will also be listened.
All the images are then put in one array and then one of them is randomly choosed.
The random image file gets opened and its content is printed out. )

In dezelfde folder als de image.jpg en andere afbeeldingen(die dus gekozen worden) staat ook een .htaccess om de .jpg te parsen als een .php. Dit bestand heeft de volgende inhoud:

AddHandler application/x-httpd-php .jpg .php

Ook heb ik dit extra stukje code: Header("Content-type: image/jpeg");
Deze zorgt ervoor dat er direct gelinkt kan worden naar de .jpg er dat hij ook werkt. Maar waar voeg ik deze code in? In de .htaccess of image.jpg(PHP)

If it aint broke, fix it till it is!


  • azertyke
  • Registratie: Januari 2005
  • Laatst online: 05-05 23:02
Header("Content-type: image/jpeg");
Dit stukje helemaal in het begin van je php code zetten, na je <?php (in image.jpg dus).

  • TERW_DAN
  • Registratie: Juni 2001
  • Niet online

TERW_DAN

Met een hamer past alles.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php       
// de lijst van afbeeldingen met de header type       
$images = array(array("(Link: http://members.home.nl/terw-dan/culinaire%20beterweter%202.gif)http://members.home.nl/terw-dan/culinaire%20beterweter%202.gif", "image/gif"),       
                array("(Link: http://members.home.nl/terw-dan/deculinairebeterweter.gif)http://members.home.nl/terw-dan/deculinairebeterweter.gif", "image/gif"));       
       
// Pak een nummer uit een van de x aantal plaatjes       
$number = rand(1, sizeof($images)) - 1;        
       
// genereer de header voor de browser       
header("Content-type: " . $images[$number][1]); // de content-type       
       
// afbeeldingsdata opvragen en direct outputten naar client       
readfile($images[$number][0]);       
?>


Misschien dat je hier wat aan hebt, dit is een scriptje dat ik gebruikt heb voor mijn random kersticons :P werkt onder IE als FF :)

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Sorry, we geven in Programming & Webscripting geen support op scripts van anderen. Mail de maker ervan maar even als je er na de tips hierboven nog problemen mee hebt.

Gebruik de volgende keer ook even [php]-tags a.u.b. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Dit topic is gesloten.