Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Avatary etc. co i jak:)
Forum PHP.pl > Forum > Przedszkole
gylopl
Witam....
Chcialem sie zapytac jak dodac na moja stronke avatary....
Jak to wogole jest przechowywane? czy na ftp, czy w bazie jakos? co dodac do tablicy users... (jakas kolumne? np avatar? a w nim sciezka do pliku)? jak zrobic formularz do dodawania avantarow(co trzeba zrobic aby po nacisnieciu guzika przegladaj otworzylo sie okno windowsowkie, czyli ta przegladarka plikow)?


pozdrawiam
marcio
Normalny upload plikow ja robie to w najprostszy sposob gdy robie upload avatr'a zmieniam jego nazwe na nazwe user'a ktory go dodaje a wywietlam tez na podstawie tej nazwy oczywiscie robie miniaturke obrazka jesli to potrzebne filtruje plik przesylany etc...

Jesli chcesz zobaczyc kod to powiedz dam ci
Skie
Poszukaj sobie na necie jak zrobić prosty upload zdjęć - pełno tego jest np na google.com. Do bazy danych wystarczy jak będziesz wysyłał samą nazwę pliku wraz z rozszerzeniem (chyba, że chcessz by avatary nie były zapisywane w tym samym katalogu).
Osobiście nazwy avatarom tworzę na takiej podstawie:

md5((nazwa_oryginalna_avatara).rand(1,10000000))

Dzieki temu jest baaaardzo male prawdopodobienstwo ze nazwa sie zdubluje.

Gdy bedziesz robil uploadera pamietaj by stworzyc w nim takze funkcje kasujaca poprzedni avatar - w wielu przykladach tego NIE ma, ale sie przydaje, gdyz nieuzwane avatary beda automatycznie kasowane i nie bedziesz musial sie martwic ze jest ich duzo wiecej niz userow winksmiley.jpg
marcio
U mnie w praktyce tak to wyglada:
  1. <?php
  2. if(!empty($_FILES['up_file'])) {
  3.  
  4. $uploaded_file = $_FILES['up_file']['tmp_name'];
  5. $tmp_dir = './grafa/avatry/';
  6. $extension = array('image/jpg', 'image/jpeg', 'image/gif', 'image/png');
  7. $roz = $_FILES['up_file']['type'];
  8. $info=getimagesize($uploaded_file);
  9. $typ=$info['mime'];
  10. $szerokosc=$info[0];
  11. $wysokosc=$info[1];
  12. $width = 130;
  13. $height = 130;
  14. $quality = 75;
  15.  
  16. if(@is_uploaded_file($uploaded_file)) {
  17.  
  18. if(in_array($roz, $extension)) {
  19.  
  20.  $nazwa = $tmp_dir.$_COOKIE['name'].'.jpg';
  21.  
  22.  if(file_exists($nazwa)) unlink($nazwa);
  23.  
  24.    if($szerokosc > 135 && $wysokosc > 135) $obraz = skaluj($uploaded_file, $roz,$width, $height, $nazwa, $quality); else $obraz = $nazwa;
  25.  
  26. if(@move_uploaded_file($uploaded_file, $obraz)) {
  27.  
  28. echo('<center><b style="color:#f00">Uploadowano '.$_FILES['up_file']['name'].' </b></center><Br>');
  29. }
  30. else echo('<center><b style="color:#f00">Blad podczas uploadu</b></center><Br>');
  31. }
  32. else echo('<center><b style="color:#f00">Dozwolone rozszerzenia .jpg/.jpeg/.gif/.png</b></center><Br>');
  33.  }
  34. }
  35. ?>


A tak wyswietlam:
  1. <?php
  2. //funkcja
  3.  
  4. function avatr($user) {
  5.  
  6. if(file_exists('./grafa/avatry/'.$user.'.jpg')) {
  7. $img = '<center><img src='./grafa/avatry/'.$user.'.jpg' style="border-widt:1px; border-color:#FF9900; border-styl:solid"" alt="avatr"></center><Br>';
  8. }
  9. else $img = '<center><img src='./grafa/avatry/default.jpg' style="border-widt:1px; border-color:#FF9900; border-styl:solid"" alt="avatr"></center><Br>';
  10. return $img;
  11. }
  12.  
  13.  
  14. //wywolanie funkcji
  15.  
  16. $obraz = avatr($_COOKIE['name']);
  17. ?>
gylopl
Mam taki formularz
  1. <form name="form1" method="post" action="test.php" enctype="multipart/form-data">
  2. <input name=type="file" "zdjecie">
  3. <input type="hidden" name="ok" value="1">
  4. <input type="hidden" name="MAX_FILE_SIZE" value="10000">
  5. <input type="submit" value="Wgraj plik">
  6. </form>


i napisze zarys mojej mysli(skryptu)......

  1. <?php
  2. if (isset($_POST['submit'])){ //jesli nacisnol kolo przycisk nastepna akcja
  3.   //teraz sprawdzam czy plik jest .jpg etc
  4.   if(plik== "image/pjpeg" ||
  5. plik== "image/png" ||
  6. plik == "image/gif"){
  7. //gdy pliki sa dobrego sprawdzamy rozmiar itp
  8. if ( plik=<100){
  9. if(kasujemy stary avatar i uploadujemy nowy){
  10. echo "Plik wrzucono pomyślnie!
  11. }
  12. else{
  13. echo cos nie tak}
  14. }
  15. }
  16. else{
  17. echo mozesz wrzucac tylko pliki o rozszerzeniu jpg gif ....
  18. }
  19. }
  20. ?>


.....hmmm jutro przeanalizuje Twoj skrypcik marcio, ale mozecie mi napisac czy zarys jest ogolnie dobry.... co w nim zmienic itp:)

i co wogole te ['tmp_name'] i podobne do tego... czemu dokladnie sluza?
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.