Random XKCD

Door WeeJeWel op zaterdag 26 juni 2010 23:00 - Reacties (13)
Categorie: -, Views: 4.074

Geektool is voor mac. En vet. Met behulp van wat php heb ik nu elke vijf minuten een strip om me af te leiden van waar ik eigenlijk mee bezig zou moeten zijn.

In geektool, maak een nieuwe image geeklet met als url je webserver naar het onderstaande script:


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
<?php
require_once('phpQuery.php');

$doc = phpQuery::newDocumentXHTML( file_get_contents( 'http://dynamic.xkcd.com/random/comic/' ) );
$url = pq('.dialog .s > img')->attr('src');
$ext = end(explode(".", $url));

if( $ext == 'jpg' || $ext == 'jpeg' )
{
    header('Content-type: image/jpg');
    imagepng( imagecreatefromstring( file_get_contents( $url ) ) );
}
else if( $ext == 'png' )
{
    header('Content-type: image/png');
    imagepng( imagecreatefromstring( file_get_contents( $url ) ) );
}
else if( $ext == 'gif' )
{
    header('Content-type: image/gif');
    imagegif( imagecreatefromstring( file_get_contents( $url ) ) );
}
// End.
?>



Downloaden & plaats http://phpquery.googlecod...ery-0.9.5.386-onefile.zip als phpQuery.php in je map en gaan met die banaan!

Volgende: Tweakers.net Anders: myTnet 10-'10 Tweakers.net Anders: myTnet
Volgende: TMF Awards 2010 06-'10 TMF Awards 2010

Reacties


Door Tweakers user kokx, zaterdag 26 juni 2010 23:13

oftewel: de ideale tool om je productiviteit tot bijna 0 te doen kelderen :P

Door Tweakers user i-chat, zaterdag 26 juni 2010 23:32

vraag is alleen om de hoeveel tijd ververst je plaatje en werkt dit ook op andere hosts (linux / win 7 ??? )

in dat geval wordt het NOG leuker...

Door Tweakers user WeeJeWel, zondag 27 juni 2010 00:26

i-chat schreef op zaterdag 26 juni 2010 @ 23:32:
vraag is alleen om de hoeveel tijd ververst je plaatje en werkt dit ook op andere hosts (linux / win 7 ??? )

in dat geval wordt het NOG leuker...
Bij elk request naar dit script krijg je een andere. Voor windows of linux zijn er vast wel tools beschikbaar die regelmatig een afbeelding downloaden en laten zien op je bureaublad.

Door Tweakers user KeepSake, zondag 27 juni 2010 03:50

Moet lijn 11 niet toevallig gebruik maken van imagejpeg() ipv imagepng()? :Y)

Door Tweakers user Modularized, zondag 27 juni 2010 04:48

Volgens mij heeft Keepsake gelijk?

Door Tweakers user Mike-RaWare, zondag 27 juni 2010 08:57

Moet regel 11, 16 en 21 niet toevallig gebruik maken van readfile( $url ) ipv imagepng( imagecreatefromstring( file_get_contents( $url ) ) )? :Y)

[Reactie gewijzigd op zondag 27 juni 2010 09:51]


Door Tweakers user hyptonize, zondag 27 juni 2010 09:42

KeepSake schreef op zondag 27 juni 2010 @ 03:50:
Moet lijn 11 niet toevallig gebruik maken van imagejpeg() ipv imagepng()? :Y)
Lijn 11 maakt hier gewoon gebruik van de rode bussen van Veolia, hoor. :?

:+
kokx schreef op zaterdag 26 juni 2010 @ 23:13:
oftewel: de ideale tool om je productiviteit tot bijna 0 te doen kelderen :P
Jij en productief?

[Reactie gewijzigd op zondag 27 juni 2010 09:43]


Door Tweakers user mzziol, zondag 27 juni 2010 09:57

#!/bin/bash
html=`wget http://dynamic.xkcd.com/random/comic/ -q -O - | grep -o 'g):.*<'`
html=${html:4}
echo ${html%<}

:)

Door Tweakers user YopY, zondag 27 juni 2010 10:45

mzziol schreef op zondag 27 juni 2010 @ 09:57:
#!/bin/bash
html=`wget http://dynamic.xkcd.com/random/comic/ -q -O - | grep -o 'g):.*<'`
html=${html:4}
echo ${html%<}

:)
Krijg je dan een bats HTML op je terminal? Leuq! :+

Zou misschien grappig zijn als die de comic omzet naar ASCII art.

Over ascii gesproken, werkte dat Youtube met ascii ook in een terminal?

Door Tweakers user RedPixel, zondag 27 juni 2010 11:24

YopY schreef op zondag 27 juni 2010 @ 10:45:
[...]


Krijg je dan een bats HTML op je terminal? Leuq! :+

Zou misschien grappig zijn als die de comic omzet naar ASCII art.

Over ascii gesproken, werkte dat Youtube met ascii ook in een terminal?
Nee, dat was een filter over het filmpje heen. Je kunt echter met mplayer een willekeurig gedownload/gestreamed filmpje direct laten zien in de terminal.

Door Tweakers user moto-moi, zondag 27 juni 2010 13:16

qua caching is dit ding best suf, is het niet veel logischer om http://xkcd.com/rss.xml uit te lezen, daar de eerste entry nav. z'n guid uit te halen (op dit moment 758 ) en daar rand() op los te laten? Hiermee kun je ook ervoor zorgen dat als je het plaatje ooit al hebt opgehaald, dat je ze lokaal kan cachen.

Door Tweakers user Aelthar, maandag 28 juni 2010 09:40

moto-moi schreef op zondag 27 juni 2010 @ 13:16:
qua caching is dit ding best suf, is het niet veel logischer om http://xkcd.com/rss.xml uit te lezen, daar de eerste entry nav. z'n guid uit te halen (op dit moment 758 ) en daar rand() op los te laten? Hiermee kun je ook ervoor zorgen dat als je het plaatje ooit al hebt opgehaald, dat je ze lokaal kan cachen.
Wie zegt dat een rand() guid bestaat?

Door Tweakers user CodeCaster, maandag 28 juni 2010 18:02

Met deze code wordt de afbeelding naar je server gedownload, omgevormd naar een ander formaat (behalve in het geval van een PNG-bestand, dan wordt het omgevormd naar een PNG-bestand) en daarna pas naar de client gestuurd.

Ik heb vijf minuten zitten staren... maar waarom in Godsnaam niet gewoon een HTTP-redirect naar de image-source?

Om te kunnen reageren moet je ingelogd zijn. Via deze link kun je inloggen als je al geregistreerd bent. Indien je nog geen account hebt kun je er hier één aanmaken.