Autor | Zpráva | ||
---|---|---|---|
Monkeys Profil * |
#1 · Zasláno: 18. 2. 2015, 21:29:25
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 * |
#3 · Zasláno: 18. 2. 2015, 21:41:00 · Upravil/a: Monkeys
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 :) |
||
Časová prodleva: 10 let
|
0