Autor Zpráva
DeBon
Profil
Zdravim.. Už jsme to tu kdysi viděl, akorát to nemůžu nikde najít...

Jde o to že mám obrázek například "obrazek.png" a ten je pokaždý jinej.. Matně si pamatuju, že byl soubor "obrazek.php" v něm bylo něco napsanýho v phpku, aby soubor byl jeden z obrázků z danýho pole a přes mod_rewrite se tomu souboru měnila koncovka na png..
Bylo to zmiňováno tušim jako machrovinka kterou používají uživatelé v diskusích u svých avatarů...

Nevíte někdo o tom kde to je nebo jak to udělat?

Díky moc
vydrus
Profil
<?
$images = array(
"1.jpg",
"2.jpg",
"3.jpg",
);
mt_srand(time());
$random_index = mt_rand(1, (count($images)));
$random_index--;
?>

<img src="<? echo "$images[$random_index]" ?>">
DeBon
Profil
no jo... ale to mám soubor a v něm obrázek.. já potřebujeu aby soubor byl obrázkem..

a tedy podud by to tak bylo a tohle byla první půlka řešení, tak jak mám udělat ze souboru s obrázkem obrázek?
vydrus
Profil
Tak řekněme, že tenhle skript bude pojmenován obrazek.php.

A na stránce, kde to chceš mít, vložíš

<?php
include ("obrazek.php");
?>


Oukej?
DeBon
Profil
Jako abych to ještě blíž přiblížil... Na úplně cizim serveru je odkaz <a href="http://mujserver/obrazek.png"> a na mym serveru je "obrazek.png" a já potřebuju aby při každym reloadu bylo na cizim serveru za "obrazek.png" jednou "obr1.png" jindy "obr23.png" třeba.. O tenhleten princip mi jde... aby randomě "obrazek.png" byl pokaždý jinej soubor, ale přesto pořád "obrazek.png"..

Je k tomu určitě potřeba mod_rewrite.. Možná by se to celkověnechalo udělat celý přes mod rewrite, jestli tam jde nastavit nějakej random v něm.. ale to opravdu nevim jak..
Matty
Profil
DeBon
Nevidím důvod plést do toho mod_rewrite. PHP script může být i v souboru *.png, ale musí to být nastavené v .htaccess. Poté v tom souboru *.png bys nahrával ostatní obrázky. Bude zapotřebí funkce imagecreatefrompng() a další...
vydrus
Profil
Na úplně cizim serveru je odkaz <a href="http://mujserver/obrazek.png">
Myslíš <img src="http://mujserver/obrazek.png">?

Tak to zkus takhle: ten skript si pojmenuješ jako obrazek.png a třeba to i pofachá :)
DeBon
Profil
Vydrus
sorry.. já dávám příklad a nemyslim u toho..

Matty
a další? Nemáš s tim nějaký zkušenosti? nebo nevyděls na toto téma někde článek?
Matty
Profil
DeBon
A další, které jsou zapotřebí - viz. http://cz.php.net/manual/cs/function.imagecreatefrompng.php
DeBon
Profil
Matty & Vydrus
Díky Pánové! Teď už to nějak doklepu..
DeBon
Profil
Super.. tak už to mám.. v souboru obrazek.png mám:
<? 


$images = array(
"obr1.png"
);
mt_srand(time());
$random_index = mt_rand(1, (count($images)));
$random_index--;




function LoadPNG($imgname)
{
    $im = @imagecreatefrompng($imgname); /* Attempt to open */
    if (!$im) { /* See if it failed */
        $im  = imagecreatetruecolor(150, 30); /* Create a blank image */
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);
        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
        /* Output an errmsg */
        imagestring($im, 1, 5, 5, "Error loading $imgname", $tc);
    }
    return $im;
}
header("Content-Type: image/png");
$img = LoadPNG("$images[$random_index]");
imagepng($img);

 ?>

a mod rewrite jenom :
RewriteRule    ^obrazek.png$    obrazek.php	[L,QSA]
Keeehi
Profil *
<?php
header ("Content-type: image/png");
putenv('GDFONTPATH=' . realpath('.'));

$images = array(
"1.png",
"2.png",
"3.png",
);
srand((double)microtime()*1000000);


$image = $images[rand(0,(count($images)-1))];
$obrazek = imagecreatefrompng($image);

imagePng ($obrazek);
imageDestroy ($obrazek);
?>


toto vložíš do souboru obrazek.php a do normální stránky <a href="http://mujserver/obrazek.php">

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: