Update profilového obrázku z FB při změně
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- resigo
- Člen | 20
Dobrý den,
chtěl jsem se zeptat, jak by se dala kontrolovat změna FB profilového
obrázku. Všem vám moc děkuji. :)
Ukládání obrázku při registraci
$picture_name = $id.'_1_'.Strings::random(9, '0-9').'.jpg';
$image = Image::fromFile('https://graph.facebook.com/'.$id.'/picture/?redirect=1&width=160&height=160');
$image->save('images/upload/'.$picture_name, 100, Image::JPEG);
Potřeboval bych aby když si uživatel změní obrázek, změnil by se i na mém webu a zároveň se mu v názvu „id _ 1 _ random.jpg“ změnila 1 na 2 a u mě by se zachovaly oba obrázky.
file_get_contents se neshoduje.
if(file_get_contents('https://graph.facebook.com/'.$id.'/picture/?redirect=1&width=160&height=160') === file_get_contents('images/upload/'.$picture_name))
- James_Scott
- Člen | 55
Co třeba porovnávat md5 checksum u puvodniho/noveho obrazku?
S ulozenim obrazku si i ukladat checksum, ale ta kontrola by se pak musela
provadet periodicky(cron).
- Majkl578
- Moderator | 1364
file_get_contents se neshoduje.
Samozřejmě, když ten obrázek resizuješ.
Můžeš použít:
- md5/sha1/crc před resize a kontrolovat (nevýhodou je stahování obrázku i když ho nepotřebuješ);
- ETag (ten funguje v API, tj. při získávání URL obrázku přidáním ?redirect=false do URL);
- Asi by se dala použít i hlavička Last-Modified;
- Real-Time API updates, to je ale řádově složitější na implementaci.
Dotaz každopádně nijak nesouvisí s Nette.