Loading:


    Rozbudowana funkcja dodająca zdjęcia do portalu np. społecznościowego

    Skrypt dodaje zdjęcie z opisem dla danego użytkownika.

    Funckaj dodatkowo pobiera $smarty ale jeśli ich nie używacie wywalcie to.




    // Table SQL z konfiguracją obrazków

    grupa - to grupa użytkowniak który dodaje fotke

    img_count - to limit ilości zdjęć dla tej grupy

    img_size - to maksymalny rozmiar jednego zdjęcia dla tej gupy


    CREATE TABLE `img_conf` (
      `grupa` varchar(20) NOT NULL,
      `img_count` int(11) NOT NULL,
      `img_size` int(11) NOT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

    INSERT INTO `img_conf` VALUES ('user', 4, 2000);


    //Tablea SQL z użytkownikami

    To przykładowa tabela użytkoników

    CREATE TABLE `users` (
      `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
      `ip` varchar(20) NOT NULL,
      `data` varchar(20) NOT NULL,
      `act` tinyint(1) NOT NULL,
      `login` varchar(30) NOT NULL,
      `mail` varchar(80) NOT NULL,
      `haslo` varchar(255) NOT NULL,
      `grupa` varchar(20) NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;



    //Tabela SQL przechowująca obrazki użytkowników

    username - to login użytkownika który dodał obrazek

    main - to wartość oznaczająca czy zdjęcie jest zdjęciem głownym użytkownika

    CREATE TABLE `img` (
      `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
      `username` varchar(100) NOT NULL,
      `url` varchar(250) NOT NULL,
      `opis` text NOT NULL,
      `main` tinyint(1) NOT NULL,
      `data` varchar(30) NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=20 ;

     

     

    //Kod HTML do dodawania plików

    <form action="dodaj_zdjecie.php" enctype="multipart/form-data" method="post">
    <table border="0" >
    <tbody>
    <tr>
    <td><input name="plik" type="file">
    </td>
    </tr>
    <tr>
    <td><b>Opis zdjęcia</b><br>
    <input name="opis" type="text">
    </td>
    </tr>
    <tr>
    <td>
    <input  value="dodaj zdjęcie" type="submit">
    </td>
    </tr>
    </tbody></table>
    </form>



    Napisz Artyku³

    Listing


    function lacz_bd()
    {  
      $db = new mysqli('localhost', 'uzytkownik', 'haslo', 'nazwa_bazy');    
        if (! $db)
          return false;
       $db->autocommit(TRUE);
       return $db;
    }



    function dodaj_zdjecie($smarty){

    if($_SESSION['user']){

    //pobieramy nazwę użytkownika
    $user = $_SESSION['user'];

    $db = lacz_bd();

    $zapytanie = "Select b.img_count, b.img_size from users AS a  LEFT JOIN img_conf AS b on a.grupa=b.grupa where a.login='$user' ";

    $wynik = $db->query($zapytanie);

    $wiersz = $wynik->fetch_assoc();

    $img_count =  stripslashes($wiersz['img_count']);

    $img_size =  stripslashes($wiersz['img_size']);

    $zapytanie = "Select id from img where username='$user' ";

    $wynik = $db->query($zapytanie);

    $ilosc  = $wynik->num_rows;

    if($_FILES['plik']['name']&&$_REQUEST['opis']){  

    if($ilosc<$img_count){

    $opis = $_REQUEST['opis'];

    $wielkoscPliku = $_FILES['plik']['size']/1000;

    if($wielkoscPliku<=$img_size){ 

    $rand = rand(10000,99999);

    $plik= pathinfo($_FILES['plik']['name']);

    $rozszerzenie = strtolower($plik["extension"]);

    if (($rozszerzenie == 'jpg')||($rozszerzenie == 'jpeg')||($rozszerzenie == 'gif')||($rozszerzenie == 'png')){

    if(!file_exists('users_gallery/'.$user)) mkdir('users_gallery/'.$user, 0755);

    if (is_uploaded_file($_FILES['plik']['tmp_name'])){
                                                                   
    if(move_uploaded_file($_FILES['plik']['tmp_name'],'users_gallery/'.$user.'/'.$rand.$_FILES['plik']['name'])){

    $nazwa_pliku = $rand.$_FILES['plik']['name'];

    $zapytanie = "Select id from img where username='$user' ";

    $wynik = $db->query($zapytanie);

    $ilosc  = $wynik->num_rows;

    if($ilosc==0)$main='1'; else $main='0';//sprawdza czy zdjęcie ma być główną fotką

    $zapytanie = "INSERT INTO img ( id , username , url , opis , main , data )VALUES (NULL , '$user', '$nazwa_pliku', '$opis', '$main', NOW( ))";

    $wynik = $db->query($zapytanie);

    $smarty->assign("dodaj_zdjecie", "1");

    }else{

    $smarty->assign("dodaj_zdjecie", "2");

    //echo '6';
    }
    }else{

    $smarty->assign("dodaj_zdjecie", "3");

    //echo '5';

    }              
                   
    }else{

    $smarty->assign("dodaj_zdjecie", "4");

    //echo '4';

    }
    }else{

    $smarty->assign("dodaj_zdjecie", "5");

    //echo '3';

    }

    }else{

    //echo '2.1';

    $smarty->assign("dodaj_zdjecie", "7");

    }

    }else{

    //echo '2';

    $smarty->assign("dodaj_zdjecie", "6");

    }

    }else{

    //echo '1';

    $smarty->assign("dodaj_zdjecie", "8");

    }

    }


    //Jeśli wysłano plik to odpalamy funkcje dodającą
    if($_FILES['plik']['name']) dodaj_zdjecie($smarty);
    ?>




    Dodano przez: igor
    Ranga: Administrator serwisu Punktów: 0
    Komentarze użytkowników
      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors