$row[0] zwraca identyfikator steam np. 76561198016890832
Jak cacheować obrazki pobierane z serwera?
więc przypisz jako nazwe avatara ten identyfikator
powtórzę Ci to jeszcze raz, nie widząc całego kodu dużo nie można powiedzieć
ma być jakoś tak
powtórzę Ci to jeszcze raz, nie widząc całego kodu dużo nie można powiedzieć
ma być jakoś tak
$dir = 'cache/avatar/'. $row[0];
// Jeden dzień cache, 3600= 1 godz
if(file_exists($dir)&&(time()-3600<filemtime($dir)))
{
// plik istnieje, czas nie jest wiekszy
$avatar= file_get_contents($dir);
}
else
{
// pobieranie i zapis avatara
$avatar2 = getAvatar($row[0]);
file_put_contents($dir, $avatar2);
$avatar= file_get_contents(getAvatar($dir ));
}
Dzięki wielkie za pomoc! Teraz działa jak należy! Kod wygląda tak:
Jeszcze jedno pytanko, jaki byłby najbardziej odpowiedni czas przetrzymywania tych avatarów w pamięci? Ten skrypt to prosty ranking graczy pobierany z serwera
// Tworzę ścieżkę pliku
$dir = 'cache/avatar/'. $row[0] .'.jpg';
// Jeden dzień cache, 3600 = 1 godz
if(file_exists($dir)&&(time()-"3600"<filemtime($dir)))
{
// plik istnieje, czas nie jest wiekszy
$avatar = $dir;
}
else
{
// pobieranie i zapis avatara
file_put_contents($dir, file_get_contents(getAvatar($row[0])));
$avatar = $dir;
}
Jeszcze jedno pytanko, jaki byłby najbardziej odpowiedni czas przetrzymywania tych avatarów w pamięci? Ten skrypt to prosty ranking graczy pobierany z serwera
To już w sumie Twoja sprawa. Awatarów nikt nie zmienia co 5 minut, więc możesz dać przynajmniej 24 godziny.
LikeLoveHate
- Gość
- 0
Znalazłem taki artykuł: http://www.mancando.pl/cache-control-w-h...d-insight/ może komuś się przyda
Łukasz Tkacz
- Mentor MyBB
- 3 025 173 2 137 14
Jeżeli zapisujesz je na swoim serwerze, to można pomyśleć o jeszcze czymś: zapisać wiele awatarów jako jeden plik, a następnie zrobić css sprite. Dzięki temu byłoby mniej żądań do serwera, a to zawsze dodatkowy kop. Nie wiem jednak, czy to ma sens na tych tabelkach, nie orientuję się w rankingach serwerów gier.
Myślę że jest okej tak jest, zastanawiałem nad kompresją pobranych obrazków tylko nie mam żadnego skryptu do tego. Ktoś zna może coś godnego polecenia?
Co do tego tworzenia sprites to jak to zrobić ?:3
Co do tego tworzenia sprites to jak to zrobić ?:3
Znalazłem rozwiązanie kompresji obrazków, dla ciekawskich:
Kompresuje obrazki do jakości 40% w moim wypadku dało to mniej więcej 40% spadku wagi pliku, efekt nie jest najlepszy ale nie widać tego u mnie ponieważ wykorzystuję małe avatary
Przy okazji odświeżę temat, ktoś powie coś więcej o tworzeniu tych sprites?
$source = imagecreatefromjpeg($dir);
imagejpeg($source, $dir, 40);
Kompresuje obrazki do jakości 40% w moim wypadku dało to mniej więcej 40% spadku wagi pliku, efekt nie jest najlepszy ale nie widać tego u mnie ponieważ wykorzystuję małe avatary
Przy okazji odświeżę temat, ktoś powie coś więcej o tworzeniu tych sprites?
Użytkownicy przeglądający ten wątek:
1 gości