Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne][HTML]zarządzanie avatarami
Forum PHP.pl > Forum > Przedszkole
ShaggyAG
Witam,

Mam pytanie odnośnie avatarów i innych plików graficznych na stronie. Konkretnie interesuje mnie jak podejść do tematu ich rozmiaru.
Powiedzmy że avatar jest wyświetlany w kilku miejscach na stronie. np. tak jak na forum przy temacie autorstwa danego użytkownika i w jego profilu.
Co zrobić jeżeli chce by w innych miejscach miał inny rozmiar? Czy wystarczy css i
  1. max-width: x px;
  2. max-height: x px;

różne dla docelowych miejsc.
Czy powinienem zmieniać ich rozmiar przy wgrywaniu? i jeżeli tak czy robić kopię dla innego rozmiaru tego samego obrazka?

Pozdrawiam
Aqu
Zastosuj background-size, bez sensu trzymać kilka kopii tego samego awatara, tylko w innych rozmiarach. Przy uploadzie możesz zmieniejszyć do takiego rozmiaru, jakiego maksymalnie używasz.
usb2.0
a ja myślę ze jest sens trzymania kilku, moze akurat avatary to nie najlepszy pomysl, ale np obrazki z minaturkami do sliderow etc
jaki jest sens wyswietlania duzej foty w postaci minaturki, bedzie sie ladowalo zdjecie tak samo jak duze mimo ze wyswietlone bedzie jako male
poza tym, nie po to powstały pluginy i inne zeby z tego nie korzsytac ; )
ShaggyAG
Możesz rozwinąć temat tych pluginów? Bo widzę ze troszkę się pomęczę z tym...
Mam kolejny problem..

1) mam zmianę/dodawanie avataru ajaxem
2) przy pliku uploadzie w php zmieniana jest nazwa przesłanego pliku na id użytkownika . rozszerzenie.
3) nazwa pliku jest też zapisana do bazy danych.
4)Jeżeli jest zmiana już istniejącego to stary jest najpierw kasowany.

Teraz tak. w przypadku gdy zmieniam avatar. Jeżeli w odpowiedzi ajax zwraca komunikat ze wsio ok chciałem sobie w locie podmienić ten obrazek na stronie.
Problem jest taki że nowy plik nazywa się tak jak stary i jak użyje.
  1. $('#av_add').load(document.URL + ' #av_add');

to zwróci stary obrazek z pamięci przeglądarki a nie z serwera.

Inna sprawa...
Pełna nazwa avataru jest w bazie w tabeli users..
i teraz jak np. tutaj jest podgląd tematu i wyświetlają się wszystkie odpowiedzi..
To czy w bazie danych w tabeli powiedzmy post gdzie trzymane są wszystkie posty ich treść autor data itp. jest też dodane pole z avatarem autora?
A jeżeli nie to w jaki sposób jest pobierana jego nazwa.. bo nie wierze ze za kazdym razem zapytaniem do tabeli users...
usb2.0
co do pluginow, tak mi sie skojarzyl jeden z Symfony 1.4, ktory przy uploadzie resizowal i tworzyl np. 3 obrazki, maly, sredniy i duzy, do tego robil cos co rozwiazuje problem z zamienianiem avatarow, kazdy obrazek mial unikalna nazwe, jesli zamienialbys avatar to najpierw z bazy pobierasz jego nazwe, kasujesz, uploadujesz nowy i wstawiasz do bazy,
wtedy odpalaniu widoku zamiast z pamieci pojdzie nowy request po nowy obrazek.


a z pobieraniem za kazdym razem to pewien nie jestem, mozna teoretycznie zapisywac w sesji po zalogowaniu path do obrazka ale sam nie wiem ; p


Forti
są pluginy (ja znam z symfony), gdzie przy wyświetlaniu tworzy cache obrazka w zależności o ustawionego rozmiaru. Masz fullHD a chcesz tylko 100x100 to zapisze w folderze web/cache/cos_tam/100x100/ jego kopie i to w tym miejscu w widoku będzie wyświetlać. Super ułatwienie, musiałbyś poszukać i poczytać wink.gif
ShaggyAG
Przemilczałem główny problem... strona jest pisana strukturalnym php. Miał być mały projekt przed nauką OOP i frameworkami ale urosła z tego straszna kobyła.
Wymyśliłem takie rozwiązanie..
Przy uploadzie resize i zmiana nazwy na losowy ciąg znaków + login.
Za wyświetlanie avataru przy ogłoszeniu będzie odpowiadała funkcja glob.
  1. glob('avatars/*'.$login.'.*');
Forti
Cytat(ShaggyAG @ 17.02.2015, 15:50:27 ) *
Przemilczałem główny problem... strona jest pisana strukturalnym php. Miał być mały projekt przed nauką OOP i frameworkami ale urosła z tego straszna kobyła.
Wymyśliłem takie rozwiązanie..
Przy uploadzie resize i zmiana nazwy na losowy ciąg znaków + login.
Za wyświetlanie avataru przy ogłoszeniu będzie odpowiadała funkcja glob.
  1. glob('avatars/*'.$login.'.*');




to nie znacyz, że nie można korzystać z gotowych rozwiązań wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.