| 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: 11 let
|
|||
0