[PHP] Glad random icon script!

Pagina: 1
Acties:
  • 109 views sinds 30-01-2008
  • Reageer

  • StratoFarmer
  • Registratie: April 2000
  • Laatst online: 04-09 21:10
Ik wilde deze boodschap eigenlijk toevoegen aan een geschikte topic, maar bij gebrek aan search mogelijkheden doe ik het maar ff zo. :z

Dit is dus een script dat in feite hetzelfde doet als het 'gewone' welbekende random-icon script.
Deze variant heeft echter het voordeel dat je makkelijk icons kan toevoegen zonder het script te gaan veranderen. Ook kun je hier gewoon allerlei soorten plaatjes door elkaar gebruiken. (jpg/gif/vector) :Y)

komtie:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?
// header zodat dit script geparst kan worden voor plaatjes
Header("Content-type: image/gif");
Header("Cache-Control: no-cache, must-revalidate");

// vul hier je directory in die de icons bevat
// deze moeten wel op dezelfde server staan als het script
$dir = './icons/';

// even de directory openen en inlezen
chdir($dir);
$handle = opendir(".");

// herhaling om alle filenamen een voor een in een array te proppen
$i = 0;
while ($file = readdir($handle)) {
    if ($file != "." &amp;amp;amp;&amp;amp;amp; $file != ".."){ 
        $icon_array[$i] = $file;
    }
    $i++;
}
closedir($handle); 

// randompje maken
$max = ( count($icon_array) - 1 );
mt_srand ((double) microtime() * 100000000);
$icon_nummer = mt_rand(0, $max);

// Dit zorgt voor het doorsturen van het plaatje
$fn=fopen("$icon_array[$icon_nummer]","r");
fpassthru($fn);
?>

Voor de duidelijkheid, dit script plaats je dus op je server en dan pleur je de iconen in een directory: "icons" is default...
Ik weet echter niet of het wel werkt op zo'n "protected mode" :? php server zoals F2S.

edit:
verdikkeme...ramdom

Mijn plekkie + Sympathisant van 'GoT voor Behoud der Nederlandsche Taal' [GvBdNT]


  • Blue-eagle
  • Registratie: September 2000
  • Niet online
Tnx m8 - needed it 8-)
Kan ik eindelijk m`n random icon afmaken (met rnd sig :P )

  • StratoFarmer
  • Registratie: April 2000
  • Laatst online: 04-09 21:10
Fijn dat iemand er iets aan heeft :)

Maar ik moet mezelf even corrigeren...die opmerking van "alle soorten plaatjes mixen geen probleem" is niet helemaal waar. Voor het script is het geen probleem, maar wanneer je de url opgeeft voor je random icon geef je daar een extensie....en dat moet waarschijnlijk toch wel overeen komen? :?

bijv: "www.jouwdomein.com/icon_generate.php?icon.gif"
zal toch wel een .gif moeten lezen om te werken...

Of maakt het niet uit of de extensie en het formaat niet hetzelfde zijn?

Mijn plekkie + Sympathisant van 'GoT voor Behoud der Nederlandsche Taal' [GvBdNT]


  • flat
  • Registratie: Mei 2000
  • Niet online
Op donderdag 08 november 2001 08:56 schreef Blue-eagle het volgende:
Tnx m8 - needed it 8-)
Kan ik eindelijk m`n random icon afmaken (met rnd sig :P )
ehm, je signature zegt:
De vorige keer dat mijn icoon werd bekeken was:
Datum: 9 November 2001
Tijd:05:12:24

dat klopt nog niet helemaal volgens mij, of ik leef in het verleden (maarja, dan zou ik dit niet kunnen lezen)

"Happiness is a way of travel, not a destination."
--Roy Goodman


  • StratoFarmer
  • Registratie: April 2000
  • Laatst online: 04-09 21:10
Blijkbaar hoef je helemaal geen bestandsnaam op te geven...zonder werkt het ook gewoon.
bijv: "www.jouwdomein.com/icon_generate.php" opgeven als plaatje.

Verder kun je ook de type aanduiding in het header gedeelte weglaten, dus zo:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?
// header zodat dit script geparst kan worden voor plaatjes
Header("Content-type: image");
Header("Cache-Control: no-cache, must-revalidate");

// vul hier je directory in die de icons bevat
// deze moeten wel op dezelfde server staan als het script
$dir = './icons/';

// even de directory openen en inlezenchdir($dir);
$handle = opendir(".");

// herhaling om alle filenamen een voor een in een array te proppen$i = 0;
while ($file = readdir($handle)) {
    if ($file != "." $file != ".."){
         $icon_array[$i] = $file;
    }
    $i++;
}
closedir($handle);
// randompje maken
$max = ( count($icon_array) - 1 );
mt_srand ((double) microtime() * 100000000);
$icon_nummer = mt_rand(0, $max);

// Dit zorgt voor het doorsturen van het plaatje
$fn=fopen("$icon_array[$icon_nummer]","r");
fpassthru($fn);
?>

Dan moeten er iig geen problemen meer zijn met verschillende typen plaatjes. :7

(edit: die php code ging helemaal door de war)

Mijn plekkie + Sympathisant van 'GoT voor Behoud der Nederlandsche Taal' [GvBdNT]


  • Sassie
  • Registratie: November 1999
  • Laatst online: 09-09 22:22
* Sassie zal eens gaan kijken of het met f2s kan werken
(niet vanavond nog (geen ftp), komend weekend denk ik)

Je leest het nog wel.

  • Blue-eagle
  • Registratie: September 2000
  • Niet online
Op donderdag 08 november 2001 22:02 schreef Flat© het volgende:

[..]

ehm, je signature zegt:
De vorige keer dat mijn icoon werd bekeken was:
Datum: 9 November 2001
Tijd:05:12:24

dat klopt nog niet helemaal volgens mij, of ik leef in het verleden (maarja, dan zou ik dit niet kunnen lezen)
Amerikaanse tijd ;)
Maar inmiddels al weer aangepast.

  • Sassie
  • Registratie: November 1999
  • Laatst online: 09-09 22:22
Op donderdag 08 november 2001 22:31 schreef Sassie het volgende:
* Sassie zal eens gaan kijken of het met f2s kan werken
(niet vanavond nog (geen ftp), komend weekend denk ik)

Je leest het nog wel.
Het werkt nog niet helemaal, ik krijg een parse error in regel 17 ;(
http://www.sassiessite.f2s.com/images/icons.php
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?
// header zodat dit script geparst kan worden voor plaatjes
Header("Content-type: image");
Header("Cache-Control: no-cache, must-revalidate");

// vul hier je directory in die de icons bevat
// deze moeten wel op dezelfde server staan als het script
$dir = './icons/';

// even de directory openen en inlezen
chdir($dir);
$handle = opendir(".");

// herhaling om alle filenamen een voor een in een array te proppen
$i = 0;
while ($file = readdir($handle)) {
    if ($file != "." $file != ".."){
         $icon_array[$i] = $file;
    }
    $i++;
}
closedir($handle);

// randompje maken
$max = ( count($icon_array) - 1 );
mt_srand ((double) microtime() * 100000000);
$icon_nummer = mt_rand(0, $max);

// Dit zorgt voor het doorsturen van het plaatje
$fn=fopen("$icon_array[$icon_nummer]","r");
fpassthru($fn);
?>

Mijn jpg-icons hebben wel de extensie .JPG, maakt dat iets uit of niet?

* Sassie pakt ondertussen haar ouwe icon wel weer...
NB: alle icons zijn te zien op http://www.sassiessite.f2s.com/icons.htm

[testje]
Ff animated gifjes eruit gegooid:
http://www.sassiessite.f2s.com/images/randomized.php
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?
// header zodat dit script geparst kan worden voor plaatjes
Header("Content-type: image");
Header("Cache-Control: no-cache, must-revalidate");

// vul hier je directory in die de icons bevat
// deze moeten wel op dezelfde server staan als het script
$dir = './usericons/';

// even de directory openen en inlezenchdir($dir);
$handle = opendir(".");

// herhaling om alle filenamen een voor een in een array te proppen
$i = 0;
while ($file = readdir($handle)) {
    if ($file != "." $file != ".."){
         $icon_array[$i] = $file;
    }
    $i++;
}
closedir($handle);
// randompje maken
$max = ( count($icon_array) - 1 );
mt_srand ((double) microtime() * 100000000);
$icon_nummer = mt_rand(0, $max);

// Dit zorgt voor het doorsturen van het plaatje
$fn=fopen("$icon_array[$icon_nummer]","r");
fpassthru($fn);
?>

[/testje]

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

uhm welke regel moeten we naar kijken dan?

Doet iets met Cloud (MS/IBM)


  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

Op zondag 11 november 2001 12:56 schreef D2k het volgende:
uhm welke regel moeten we naar kijken dan?
een al langere tijd openstaande feature request: regelnummers bij syntax highlighting. Ik heb het al klaar liggen maar goed, topix wordt niet meer zo ontwikkeld schijnt het ;)

Verder: ipv zo'n scan te doen via php kan je ook gewoon de output van `ls` opvangen oid. Als je verplicht sequentieele namen te gebruiken kan je met:
PHP:
1
2
3
<?
$count = `ls /www/docs/icons/ | wc -l`
?>

in 1 klap de aantal images uitlezen...

(maar dat terzijde :P)

Klaar voor een nieuwe uitdaging.


  • Sassie
  • Registratie: November 1999
  • Laatst online: 09-09 22:22
Op zondag 11 november 2001 12:56 schreef D2k het volgende:
uhm welke regel moeten we naar kijken dan?
Tussen regels 14 t/m 18 ergens.
Dacht dat het bij de ene nr 17 was en bij de andere nr 16.
Nee, ik weet ff niet waar begonnen wordt met tellen.

Stratofarmer? Help? :?
Het is nog jouw produkt. :)

edit:

Ik ga denk ik maar voor de makkelijkere oplossingen...
Voorlopig eerst de allermakklijkste : geen dynamisch icon :)

Verwijderd

Is er al iemand die dit scriptje aan het lopen heeft gekregen op een f2s.com domain, ik heb het geprobeerd maar op een of andere manier krijg ik alleen maar een 30x30 x plaatje in me html file ;( help pls.

  • GraasGast
  • Registratie: Oktober 2000
  • Laatst online: 03-09 17:11

GraasGast

Analogue Heaven

ligt niet aan f2s! gewoon goed je script debuggen...

  • red_indian
  • Registratie: Maart 2000
  • Laatst online: 24-06 16:43

red_indian

 Smokin' Suckz B!

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?
// vul hier je directory in die de icons bevat
// deze moeten wel op dezelfde server staan als het script
$dir = "./icons/";

// even de directory openen en inlezenchdir($dir);
$handle = opendir($server.$dir);

$i=0;
// herhaling om alle filenamen een voor een in een array te proppen
while ($file = readdir($handle)) {
    if ($file != "." &amp;&amp; $file != ".."){
      $icon_array[$i] = $file;
      $i++;
    }
}
closedir($handle);

// randompje maken
$max = ( count($icon_array) - 1 );
mt_srand ((double) microtime() * 100000000);
$icon_nummer = mt_rand(0, $max);

// dwing af dat de icon opnieuw geladen wordt
Header("Cache-Control: no-cache, must-revalidate");
// doorsturen naar het werkelijke plaatje
Header("Location: $dir/$icon_array[$icon_nummer]");
?>

zo doettie wel, en paktie ook nog alle bestands-typen.

Need a cuesheet/tracklisting? (meer dan 500.000 online)


Verwijderd

Klopt nice, ey vraagje hoe kan ik de lengte van het gemaakte plaatje variabel houden?..

nu wordt ie 60x60 maar stel ik wil um 4 letters lang hebben of 5 letters is dat ook mogelijk?

  • red_indian
  • Registratie: Maart 2000
  • Laatst online: 24-06 16:43

red_indian

 Smokin' Suckz B!

hij pakt gewoon elke afmeting hoor.
de grootte bepaal je door je img tags aan te roepen met 'width=' en 'height='

standaard forum (60x60):
[img]"radom_icon.php"[/img]

als je niets doet pakt hij de orginele grootte.

Need a cuesheet/tracklisting? (meer dan 500.000 online)


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op vrijdag 23 november 2001 00:16 schreef Xtentic het volgende:
nu wordt ie 60x60 maar stel ik wil um 4 letters lang hebben of 5 letters is dat ook mogelijk?
Vast wel, beetje rekenen en het moet lukken.

  • Tobiaz
  • Registratie: Februari 2001
  • Laatst online: 21-01-2023

Tobiaz

Ondertitel

bij mij doet ie het echt niet!

[code] if ($file != "." && $file != ".."){ [code]
daar zit de fout zegt ie!

Heb op http://www.webs-ite.f2s.com/icons/random.php
het originele voorbeeld geplaatst

en op
http://www.webs-ite.f2s.com/icons/random2.php

het laatste voorbeeld van iemand hiero :)

Onder een steen geleefd dan maar ;-)


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

:O
&amp&amp vv door &&

Doet iets met Cloud (MS/IBM)


  • Tobiaz
  • Registratie: Februari 2001
  • Laatst online: 21-01-2023

Tobiaz

Ondertitel

heeft u dr een legenda bij? Ik zit niet zo in php! Maar doe wel mn best het te snappen

Onder een steen geleefd dan maar ;-)


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op zaterdag 02 februari 2002 20:57 schreef Tobiaz het volgende:
heeft u dr een legenda bij? Ik zit niet zo in php! Maar doe wel mn best het te snappen
kom op dude
code:
1
 if ($file != "." &amp;&amp; $file != ".."){


dat geef je
en ik geef &&amp vv door &&
goh waar zou je nou moeten zijn
ik zie de verwarring :P
ik heb html rechten :+
code:
1
&amp;&amp; vv door &&

Doet iets met Cloud (MS/IBM)


  • Tobiaz
  • Registratie: Februari 2001
  • Laatst online: 21-01-2023

Tobiaz

Ondertitel

en waarom heeft u html rechten dan :)

Onder een steen geleefd dan maar ;-)


Verwijderd

Op zaterdag 02 februari 2002 21:10 schreef Tobiaz het volgende:
en waarom heeft u html rechten dan :)
omdatie lite-mod is :)

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Sja, je neemt de moeite de search te gebruiken en vindt dit topic.

Maar je kan dan niet vinden dat && geen geldige php-code is (iig binnen een if)?
Valt me wel weer tegen ;)

Verwijderd

nice! :) ff kijke offie werkt :)

  • Wildfire
  • Registratie: Augustus 2000
  • Laatst online: 11:38

Wildfire

Joy to the world!

Sorry voor het omhoog kicken, maar dit was het meest recente topic over random icons...

Ik heb het volgende script:
<?
Header("Content-type: image/gif");
Header("Cache-Control: no-cache, must-revalidate");
srand((double)microtime()*1000000);
$nr=rand(1,3);
$fn=fopen("$nr.gif","r");
fpassthru($fn);
?>
Dit heb ik als icon.php geupload naar een websitehoster. Verder staan daar drie icons in gif-formaat, genummerd van 1 tot 3.

In mijn GoT profiel heb ik http://wildfire.coolfreepages.com/icon.php?blaat.gif geprobeerd, maar dan krijg ik helaas alleen kruisjes te zien... (momenteel maar een non-random icon neergezet)

Doe ik iets fout??

(ps: ik heb GoT afgezocht over dit onderwerp en geen oplossing gevonden; verder ook nog veel gratis PHP hosters gevonden maar de meeste bestaan ondertussen niet meer of kosten geld)

Systeemspecs | Mijn V&A spulletjes | Mijn RIPE Atlas probe


  • RdeTuinman
  • Registratie: Mei 2001
  • Laatst online: 16-08 07:25
Kijk maar eens in de bron van die pagina. Daar is je scriptje gewoon te lezen.

Dus de PHP-code wordt niet geparst. Kijk even bij de FAQ van die provider of er speciale directories zijn waarin je je script moet zetten.

  • Wildfire
  • Registratie: Augustus 2000
  • Laatst online: 11:38

Wildfire

Joy to the world!

Na flink wat neuzen in hun FAQ zag ik de oorzaak: PHP alleen bruikbaar vanaf websites die bij hun gehost zijn.

Op zoek naar een andere host dan maar... ik heb de search hier al gebruikt, maar veel gratis PHP-hosters zijn tenonder gegaan of zijn pay-diensten geworden... en om nou te gaan betalen voor dit ene PHP-scriptje vind ik teveel van het goede...

Systeemspecs | Mijn V&A spulletjes | Mijn RIPE Atlas probe


  • RdeTuinman
  • Registratie: Mei 2001
  • Laatst online: 16-08 07:25
icon.php staat toch bij hun op de server? Dat betekent toch dat deze bij hun gehost wordt? :?

Probeer de naam nog even te veranderen in icon.phtml

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
of probeer eens
code:
1
$fn=fopen($nr.".gif","r");

succes :)

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


  • Wildfire
  • Registratie: Augustus 2000
  • Laatst online: 11:38

Wildfire

Joy to the world!

Op woensdag 20 maart 2002 23:01 schreef RdeTuinman het volgende:
icon.php staat toch bij hun op de server? Dat betekent toch dat deze bij hun gehost wordt? :?

Probeer de naam nog even te veranderen in icon.phtml
Ja maar het werkt dus alleen maar als de PHP-code wordt aangeroepen vanaf een site die bij hun gehost staat.

Systeemspecs | Mijn V&A spulletjes | Mijn RIPE Atlas probe


  • Wildfire
  • Registratie: Augustus 2000
  • Laatst online: 11:38

Wildfire

Joy to the world!

Op donderdag 22 november 2001 23:32 schreef red_indian het volgende:

[php
scriptje...
[/php]

zo doettie wel, en paktie ook nog alle bestands-typen.
Dit script werkt! Nu alleen nog een gratis PHP-hoster zien te vinden... en da's lastig... :(

Systeemspecs | Mijn V&A spulletjes | Mijn RIPE Atlas probe


Verwijderd

Klik eens op de links in mijn sig. Je kunt mijn icon downloaden. (Werkt ook leuk)
Pagina: 1