Autor Zpráva
Monkeys
Profil *
Zdravim

nedari sa mi konvertovat obrazky v obsahu na obrazky ukladane do zlozky.
Prilozeny kod mi ziadnu chybu nehlasi no ulozi mi vzdy rovnake obrazky.

function replace($string){
$i=0;
$trimed = trim(str_replace('src="data:image/jpeg;base64,', "", substr($string[$i++],0,-1)));
$time = md5(time());
$newImg = imagecreatefromstring(base64_decode( $trimed ));
imagejpeg($newImg, 'image/content/img_'.$time.'.jpg');

return 'src="image/content/img_'.$time.'.jpg"' ;


}
print preg_replace_callback('~src=\"([^\"]+)\"~', "replace", $contents['content']); 

vdaka za odpoved
M.
juriad
Profil
To asi proto, že celý skript doběhne dříve než za sekundu, a tedy funkce time pokaždé vrátí stejnou hodnotu, a tedy se obrázek bude pořád dokola přepisovat.

Musíš použít něco chytřejšího než jen md5(time());

Použij třeba funkci tempnam pro vygenerování unikátního názvu. Jako prefix můžeš dát ten timestamp.
Monkeys
Profil *
juriad:
Dakujem za odpoved a ako by som to mohol vyriesit aby bolo pre kazdy obrazok jedinecne meno?

vdaka


aha OK dakujem


juriad:

No mal si pravdu bolo to v tom $time
vyriesil som to cez
uniqid(rand(), true)

este raz vdaka nenapadlo by ma to :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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