Jump to content
Sign in to follow this  
lokeland

Ordentlig roterende bilde

Recommended Posts

Noen som vet hvordan man kan lage et roterende gif-bildefil ut av PHP og uten hjelp av .htaccess? Må lage SELVESTE fila! Vet det finnes på hjemmesiden til en dude her på forumet. Tror den var nynorsk eller no.

Share this post


Link to post
Noen som vet hvordan man kan lage et roterende gif-bildefil ut av PHP og uten hjelp av .htaccess? Må lage SELVESTE fila! Vet det finnes på hjemmesiden til en dude her på forumet. Tror den var nynorsk eller no.

Den tok jeg ikke helt. Hva har gif-bilder og .htaccess med hverandre å gjøre? Orker du å forklare litt bedre, så kan man hjelpe. Hvis du mener slik greie på registrering hvor du har noen tall med rotete bakgrunn så er det bare å lage bakgrunnen og så putte på bokstavene med PHP ;)

Share this post


Link to post

Har sett scripts som lager roterende gif-bilder men bruker ei .htaccess-fil!

Er litt på bærtur her. Enkelt sagt: Hvordan lage en roterende avatar til HW-forumet uten bruk av .htaccess-fil? Som roterer bilder fra en angitt mappe!

Share this post


Link to post
Har sett scripts som lager roterende gif-bilder men bruker ei .htaccess-fil!

Er litt på bærtur her. Enkelt sagt: Hvordan lage en roterende avatar til HW-forumet uten bruk av .htaccess-fil? Som roterer bilder fra en angitt mappe!

Åja, du mener slik at du bytter bilde for hver request?

 

er jo bare å gjøre noe som feks:

 

$bilder = array("av1.gif", "av2.gif", "av3.gif");

$total = count($bilder);

$output = rand("0", "$total");

 

$bilde = $bilder[$output];

 

Så må du jo bruke PHPs bildefunksjoner for å printe ut bilde da. Husk at bildet må hete .gif (legg til .gif som PHP i configfila til webserveren)

Share this post


Link to post

Takktakk. Men jeg er så ustø i PHP nå så har du mulighet for å kjapt sette sammen scriptet? Og er det ikke mulig å kunne hente det rett fra ei mappe? Og ikke bilde for bilde?

Share this post


Link to post
Takktakk. Men jeg er så ustø i PHP nå så har du mulighet for å kjapt sette sammen scriptet? Og er det ikke mulig å kunne hente det rett fra ei mappe? Og ikke bilde for bilde?

du kan bruke readdri() da. Men jeg har ikke tid å sette sammen scriptet. Det ligger en artikken på programmer.no fra desember 2004 som omhandler bilderedigering i PHP ;)

Share this post


Link to post

Er det siden din lokaltok?

Hvorfor i alle dager bruker du rand og ikke mt_rand?

Og et kanskje større spørsmål, hvorfor kombinere round, rand og count bare for å gjøre det samme som array_rand() gjør?

Share this post


Link to post
Er det siden din lokaltok?

Hvorfor i alle dager bruker du rand og ikke mt_rand?

Og et kanskje større spørsmål, hvorfor kombinere round, rand og count bare for å gjøre det samme som array_rand() gjør?

Jess.

 

Lenge siden jeg skrev den guiden, har rykket et par hakk opp på kunnskapsstigen siden da! ;)

 

Skal rettes opp snarest. Takk for tilbakemeldingen! :)

 

Edit @ ex0n:

Noen som vet hvordan man kan lage et roterende gif-bildefil ut av PHP og uten hjelp av .htaccess? Må lage SELVESTE fila! Vet det finnes på hjemmesiden til en dude her på forumet. Tror den var nynorsk eller no.
Har sett scripts som lager roterende gif-bilder men bruker ei .htaccess-fil!

Er litt på bærtur her. Enkelt sagt: Hvordan lage en roterende avatar til HW-forumet uten bruk av .htaccess-fil? Som roterer bilder fra en angitt mappe!

:roll:

Edited by Lokaltog

Share this post


Link to post

<?php

// Headers
header("Content-Type: image/gif");
header("Cache-Control: no-cache");

// Image Directory
$imagedir = "c:\appserv\www\avatar\images";

// Read directory
$filearr = array();
if ($handle = opendir($imagedir)) {
 while (false !== ($file = readdir($handle))) {
   $filearr[] = $file;
 }
 closedir($handle);
}

// we want to exclude "." and ".."
$images = array();
foreach ($filearr as $filelist) {
 if ($filelist !== "." and $filelist !== "..") {
   $images[] = $filelist;
 }
}

// Count total images
$total = count($images);

// The magic
$output = mt_rand(0, $total);

// Where is the image?
$image = $images[$output];

// Include it!
include($imagedir ."/". $image);
?>

 

Ble litt rotete, men funker. (Hvis du har firefox så får du bare opp noe tekst om bildet ikke er gyldig jpg)

 

EDIT: For å bruke bildet på et forum, kall fila image.jpg og legg dette i .htaccess:

AddType application/x-httpd-php .gif

 

EDIT: Du skulle ha .gif, så jeg fiksa :p

Edited by ex0n

Share this post


Link to post

ex0n:

Det var mye unødvendig kode.

 

F.eks.:

// Read directory
$filearr = array();
if ($handle = opendir($imagedir)) {
while (false !== ($file = readdir($handle))) {
  $filearr[] = $file;
}
closedir($handle);
}

// we want to exclude "." and ".."
$images = array();
foreach ($filearr as $filelist) {
if ($filelist !== "." and $filelist !== "..") {
  $images[] = $filelist;
}
}

 

Bude se slik ut:

// Read directory
$images = array();
if ($handle = opendir($imagedir)) {
while (false !== ($file = readdir($handle))) {
  if ($filelist !== "." and $filelist !== "..") {
     $images[] = $file;
  }
}
closedir($handle);
}

 

 

Dette er unødvendig, bruk array_rand():

// Count total images

$total = count($images);

 

// The magic

$output = mt_rand(0, $total);

 

Dette er det ikke noe poeng å gjøre, bare definere en variabel for å kun bruke den en gang. Les på zend.com, der finner du en artikkel som heter 20 tips alle php programmerere brude kunne:

// Where is the image?

$image = $images[$output];

 

Sett array_rand rett inn her:

// Include it!

include($imagedir ."/". $image);

 

Så er plutselig koden din halvert.

Videre kan du heller lage scriptet helt dynamisk ved å la det godtta både jpg og gif. Sjekk filtypen på det tilfeldige bildet før du legger til:

// Headers

header("Content-Type: image/gif");

header("Cache-Control: no-cache");

 

Lykke til :thumbup:

 

:thumbup::thumbup::thumbup:

Share this post


Link to post

Hehe, ikke kritiser nå. Mekka det sammen på 5 minutter som et eksempel, litt må jo trådstarter gjøre selv ;)

Edited by ex0n

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...