Търся Upload Image Скрипт + Tumbnail

valnak

Registered
Търся Upload Image Скрипт + Tumbnail бях намерил едно уроче тука за Thumnail но...нищо не разбрах затова се моля някой тука да ми даде тези скриптове и да ми обесни какво да правя... мерси преварително!
 
Благодаря,но VideoTutorials не ми работи,смисал видеотата не тръгват.Можели готови скриптове ?
 
кодовете ги нямам, а сега не ми се пише.. отвори страницата с някой друг браузър или си изтегли flash :)
 
Вариянт първи :
===========================================
DEMO 1
Код:
<html>
     <head>
          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          <title>Подредба на смики</title>
     </head>
     <body>
          <?php
          include '../../fokusi/fokusi.php';
          db_init(); //Връзка към сървъра
          $ip=$_SERVER['REMOTE_ADDR'];
          mysql_select_db('pic') or die ('NODATA BASE'); ////Връзка към базата данни
          mysql_query('
CREATE TABLE IF NOT EXISTS `pic` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(111) NOT NULL,
  `up_down` varchar(111) NOT NULL,
  `tumb` varchar(111) NOT NULL,
  `content` varchar(111) NOT NULL,
  `ip` varchar(111) NOT NULL,
  `time_addet` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;
'); // Създаваме таблицата ако не съществува

          ////////////////////////////////////////////// // Проверка за делене
                    if ($_POST['DELETE']) {
                         $res = run_q('SELECT * FROM pic');
                         $cnt = mysql_num_rows($res);
                         $update_position = $_POST['DELETE2'];
                         $res = run_q('SELECT * FROM pic WHERE up_down=' . $_POST['DELETE2'] . '');
                         $row = mysql_fetch_assoc($res);
                         $myFile = $row['name'];
                         //    unlink($myFile);
                         $myFile = $row['tumb'];
                         //    unlink($myFile);
                         run_q('DELETE FROM pic WHERE up_down=' . $_POST['DELETE2'] . '');
                         for ($i = $update_position; $i <= $cnt; $i++) {
                              run_q('UPDATE `pic`.`pic` SET `up_down` =' . ($i - 1) . ' WHERE `pic`.`up_down` =' . $i . '');
                         }
                         $_POST['DELETE']=0;
                    }
          ////////////////////////////// Ако снимките са пожече от определен брой

          if ($b >= 200) {
               echo "NIAMA POVECHE MIASTO NA HARDISKA !!!";
          } else {
               if ($_FILES['pic']['tmp_name']) {
                    $content=trim($_POST['content']);
                    if (strlen($content)==0) {
                         $content=$_FILES['pic']['name'];
                    }
                    if ($_FILES['pic']['size'] > 4194304) {
                         $_SESSION['music'] = 2;
                         echo $error[] = "SNIMKATA E MNOGO GOLIAMA ";
                    }

                    if (!(($_FILES['pic']['type'] == 'image/gif')
                        || ($_FILES['pic']['type'] == 'image/jpeg'))) {
                         $_SESSION['music'] = 2;
                         echo $error[] = "FAILAT NE E SNIMKA ";
                    }
                    if (count($error) == 0) {

                         $uploads_dir = 'article_pic';
                         if (!(is_dir($uploads_dir))) {
                              mkdir('article_pic');
                         }
                         $t = 'article_pic/tumb_/';
                         if (!is_dir($t)) {
                              mkdir($t);
                         }

                         $tmp_name = $_FILES["pic"]["tmp_name"];
                         $name = time() . '_' . $_FILES["pic"]["name"];
                         $fsize = $_FILES["pic"]["size"];
                         if (move_uploaded_file($tmp_name, $uploads_dir . DIRECTORY_SEPARATOR . $name)) {
                              create_tumb($uploads_dir . DIRECTORY_SEPARATOR . $name);
                              $succes = TRUE;
                              $path_pic = $uploads_dir.'/'.$name;
                              $res = run_q('SELECT up_down FROM pic ');
                              $cnt = mysql_num_rows($res);
                              $position = $cnt + 1;
                              run_q('INSERT INTO pic (name,up_down,tumb,content,ip,time_addet)
                    VALUES ("' . addslashes($path_pic) . '",
                    ' . $position . ',
                    "' . addslashes($t .'tumb_'. $name) . '",
                    "'.addslashes($content).'",
                    "'.addslashes($ip).'",
                    '.addslashes(time()).')');
                         } else {
                              echo $error[] = "GRESHKA PRI KOPIRANE NA FAILA1";
                         }
                    }
               }
          }
          ////////////////////////////////////////////////  форма за качване
          ?>
          <div>
               <hr>
               <center>
                    <form name="up_pictures" method="POST" enctype="multipart/form-data">
                         select photo ИЗБЕРИ СИ СНИМКА  :<input type="file" name="pic" value="" width="50" /><P>
                              Name of pic or txt:<input type="text" name="content" value="" />
                              <input type="submit" value="UPLOAD" name="UPLOAD" />
                    </form>
                    <?php
                    $a = run_q('SELECT * FROM pic');
                    $b = mysql_num_rows($a);  // Преброяваме колко снимки има качени
                    $ip=$_SERVER['REMOTE_ADDR']; // Взимаме ИП адреса на клиента
                    if ($b==1) {
                         echo '<div>'.$b.' Брой качена снимка !!<br>';
                    } else {
                         echo '<div>'.$b.' Броя качени снимки !!<br>';
                    }

                    echo 'Вашия адрес е : '.$ip.'</div>';
                    ?>
               </center>
               <hr>
          </div>

          <?php
          //////////////////////////////////////////////// проверки за местене
          if ($_POST['UP']) {
               $res = run_q('SELECT * FROM pic where id=' . $_POST['UP2'] . ' order by up_down');
               $row = mysql_fetch_assoc($res);
               $up = $row['up_down'] - 1;
               if ($up < 1) {
                    $up = 1;
               } else {
                    run_q('UPDATE `pic`.`pic` SET `up_down` =' . ($up + 1) . ' WHERE `pic`.`up_down` =' . ($row['up_down'] - 1) . '');
                    run_q('UPDATE `pic`.`pic` SET `up_down` =' . $up . ' WHERE `pic`.`id` =' . $_POST['UP2'] . '');
               }
          }
          if ($_POST['DOWN']) {
               $res = run_q('SELECT * FROM pic where id=' . $_POST['DOWN2'] . ' order by up_down');
               $row = mysql_fetch_assoc($res);
               $up = $row['up_down'] + 1;
               if ($up > $_SESSION['cnt']) {
                    $up = $_SESSION['cnt'];
               } else {
                    run_q('UPDATE `pic`.`pic` SET `up_down` =' . ($up - 1) . ' WHERE `pic`.`up_down` =' . ($row['up_down'] + 1) . '');
                    run_q('UPDATE `pic`.`pic` SET `up_down` =' . $up . ' WHERE `pic`.`id` =' . $_POST['DOWN2'] . '');
               }
          }

          // показване на резултатите

          $res2 = run_q('SELECT * FROM pic order by up_down');
          $_SESSION['cnt'] = mysql_numrows($res2);
          echo '<CENTER><div style="width: 1024px;height: 800px;float: inherit;">';

          while ($row2 = mysql_fetch_array($res2)) {
               if (($row2['up_down'] - 1) < 1) {
                    echo '<div style="width: 110px;min-height: 230px;float: left;">';
                    echo '<a href="' . $row2['name'] . '" target="_blanc"><img src="' . $row2['tumb'] . '" width="100" height="100" alt="2"/></a>';
                    echo $row2['content'];

                    // Форма за преместване и делене

                    echo '<form name="up_down" method="POST" enctype="multipart/form-data">
            <div>Position : ' . $row2['up_down'] . '</div>
                <div>.   .</div>
            <div><input type="submit" value="DOWN" name="DOWN" />
            </div><div><input type="submit" value="DELETE" name="DELETE" /></div>
            <div><input type="hidden" value="' . $row2['id'] . '" name="DOWN2" /></div>
            <div><input type="hidden" value="' . $row2['up_down'] . '" name="DELETE2" /></div>
        </form>
    </div>';
               } elseif (($row2['up_down'] + 1) > mysql_numrows($res2)) {
                    echo '<div style="width: 110px;min-height: 230px;float: left;">';
                    echo '<a href="' . $row2['name'] . '" target="_blanc"><img src="' . $row2['tumb'] . '" width="100" height="100" alt="2"/></a>';
                    echo $row2['content'];
                    echo '<form name="up_down" method="POST" enctype="multipart/form-data">
            <div>Position : ' . $row2['up_down'] . '</div>
            <div><input type="submit" value="UP" name="UP" /></div>
            <div>.   .</div>
            <div><input type="submit" value="DELETE" name="DELETE" /></div>
            <div><input type="hidden" value="' . $row2['id'] . '" name="UP2" /></div>
            <div><input type="hidden" value="' . $row2['up_down'] . '" name="DELETE2" /></div>
        </form>
    </div>';
               } else {

                    echo '<div style="width: 110px;min-height: 230px;float: left;">';

                    echo '<a href="' . $row2['name'] . '" target="_blanc"><img src="' . $row2['tumb'] . '" width="100" height="100" alt="2"/></a>';
                    echo $row2['content'];
                    echo '<form name="up_down" method="POST" enctype="multipart/form-data">
            <div>Position : ' . $row2['up_down'] . '</div>
            <div><input type="submit" value="UP" name="UP" /></div>
            <div><input type="submit" value="DOWN" name="DOWN" /></div>
            <div><input type="submit" value="DELETE" name="DELETE" /></div>
            <div><input type="hidden" value="' . $row2['up_down'] . '" name="DELETE2" /></div>
            <div><input type="hidden" value="' . $row2['id'] . '" name="UP2" /></div>
            <div><input type="hidden" value="' . $row2['id'] . '" name="DOWN2" /></div>
        </form>
    </div>';
               }
          }

          echo'</div></CENTER>';
          ?>
     </body>
</html>

Вариянт втори :

================================================
DEMO 2

Код:
<?php
session_start();

if($_POST['add_more']) {
     $_SESSION['cntUpFile']=$_SESSION['cntUpFile']+1;
} elseif ($_POST['upload_file']) {
     $_SESSION['cntUpFile']=$_SESSION['cntUpFile']+0;
}else {

     $max_file=10;
     $_SESSION['cntUpFile']=$max_file;
}


if ($_POST['upload_file']) {

     $upload_dir='upload_file';
     $tum_folder=$upload_dir.'/tumb';
     $maxFilet=(int)$_POST['cnt_file'];

     for ($counFilet = 1 ; $counFilet <=$maxFilet; $counFilet++) {
          if (!$_FILES['file'.$counFilet]['tmp_name']) {

               $_SESSION['error_niama'][$counFilet]="НЯМА ПРИКАЧЕН ФАЙЛ !!!";

          } else {

               if ($_FILES['file'.$counFilet]['size'] > 4194304) {
                    $_SESSION['error_goliama'][$counFilet] = "СНИМКАТА Е МНОГО ГОЛЯМА !!! ";
               }

               if (!(($_FILES['file'.$counFilet]['type'] == 'image/gif')
                   || ($_FILES['file'.$counFilet]['type'] == 'image/jpeg'))) {
                    $_SESSION['error_ne'][$counFilet] = "ФАЙЛЪТ НЕ Е СНИМКА !!!";
               }

               if (!(is_dir($upload_dir))) {
                    mkdir($upload_dir);
               }

               if (!(is_dir($tum_folder))) {
                    mkdir($tum_folder);
               }

               if (count($_SESSION['error_ne']==0) and count($_SESSION['error_goliama']==0)) {

                    $tmp_name = $_FILES['file'.$counFilet]["tmp_name"];
                    $name = time() . '_' . $_FILES['file'.$counFilet]["name"];
                    $fsize = $_FILES['file'.$counFilet]["size"];

                    if (move_uploaded_file($tmp_name, $upload_dir .'/'. $name)) {
                         create_tumb($upload_dir .'/'. $name,$counFilet);
                         $succes = TRUE;
                    } else {
                         $_SESSION['error_fatal'][$counFilet] = "ГРЕШКА ПРИ КОПИРАНЕ НА ФАЙЛА !!!";
                    }
               }
          }
     }
}

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
     <head>
          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          <meta name="description" content="Уплоад на повече от един файл (снимка)"/>
          <meta name="keywords" content="Галерия Подредба База-Данни Разместване Подредба Ъплоад Снимка"/>
          <title>UPLOAD MORE OF 1 PICTURES</title>
          <style>
               body{
                    background:#c0c0c0;
               }
          </style>
          <script type="text/javascript" src="../js/jquery-1.4.4.js"></script>
          <script type="text/javascript">
               $(function() {
                    $('input#sel').click(function(){
                         var fon = $(this).attr("value");
//                         alert(fon);
                         $("body").css('background', 'url('+ fon +')');
                    });
               });
          </script>
     </head>
     <body>
          <center>
               <div id="fon22">
                    <a href="upload_file_choise.php">КАЧИ СНИМКА</a> |
                    <a href="../js/ramki_22.php">МАЛКА ГАЛЕРИЯ</a>
               </div>
               Файловете да не са по големи от 4 МБ.
               <div id="up_form" style="width:450px;">
                    <hr>
                    <form name="up_mor1_file" method="POST" enctype="multipart/form-data">
                         <?php
                         if($_SESSION['cntUpFile']>=20) {
                              $_SESSION['cntUpFile']=20;
                              for ($cnt_file = 1 ; $cnt_file <=$_SESSION['cntUpFile']; $cnt_file++) {

                                   ?>
                         Избери файл <?php echo $cnt_file; ?>: <input type="file" name="file<?php echo $cnt_file; ?>" value="" width="200" />
                         <div style="width:330px;"><?php echo $_SESSION['error_goliama'][$cnt_file];unset ($_SESSION['error_goliama'][$cnt_file]); ?></div>
                         <div style="width:330px;"><?php echo $_SESSION['error_ne'][$cnt_file]; unset ($_SESSION['error_ne'][$cnt_file]); ?></div>
                         <div style="width:330px;"><?php echo $_SESSION['error_fatal'][$cnt_file]; unset ($_SESSION['error_fatal'][$cnt_file]); ?></div>
                         <div style="width:330px;"><?php echo $_SESSION['error_niama'][$cnt_file]; unset ($_SESSION['error_niama'][$cnt_file]); ?></div>
                              <?php
                              }
                         } else {
                              for ($cnt_file = 1 ; $cnt_file <=$_SESSION['cntUpFile']; $cnt_file++) {
                                   ?>
                         Избери файл <?php echo $cnt_file; ?>: <input type="file" name="file<?php echo $cnt_file; ?>" value="" width="200" />
                         <div style="width:330px;"><?php echo $_SESSION['error_goliama'][$cnt_file];unset ($_SESSION['error_goliama'][$cnt_file]); ?></div>
                         <div style="width:330px;"><?php echo $_SESSION['error_ne'][$cnt_file]; unset ($_SESSION['error_ne'][$cnt_file]); ?></div>
                         <div style="width:330px;"><?php echo $_SESSION['error_fatal'][$cnt_file]; unset ($_SESSION['error_fatal'][$cnt_file]); ?></div>
                         <div style="width:330px;"><?php echo $_SESSION['error_niama'][$cnt_file]; unset ($_SESSION['error_niama'][$cnt_file]); ?></div>
                              <?php
                              }
                         }
                         ?>
                         <hr>
                         <input type="submit" value="КАЧИ ФАЙЛОВЕТЕ" name="upload_file" />
                         <input type="submit" value="Добави още полета" name="add_more" />
                         <input type="hidden" value="<?php echo $_SESSION['cntUpFile']; ?>" name="cnt_file" />
                    </form>
               </div>
               <br>
               <center>
                    <div id="konteiner" style="width:1024px;">
                         <?php
                         if (!is_dir('upload_file/')) {
                              mkdir('upload_file/');
                         }
                         if (!is_dir('upload_file/tumb/')) {
                              mkdir('upload_file/tumb/');
                         }
                         $tum_folder='upload_file/tumb';
                         $openDir=opendir($tum_folder);
                         while (($showPic=readdir($openDir))!==FALSE) {
                              if ($showPic!="." and $showPic!="..") {
                                   $bigPic=substr($showPic, 5)
                                       ?>
                         <div id="pic" style="background:white;width:300px;height:350px;border:2px gray solid;margin:18.66px;float:left;">
                              <a href="<?php echo 'upload_file/'.$bigPic; ?>" target="_blanc"><img style="border:0px;" src="<?php echo $tum_folder.'/'.$showPic; ?>"/></a>
                              <br><br>
                              <b>Задай за фон !!!</b><input id="sel" type="radio" name="bacground" value="<?php echo 'upload_file/'.$bigPic; ?>"/>
                              <br><br>
                              <?php echo $bigPic; ?>
                         </div>
                              <?php
                              }
                         }
                         closedir($openDir);
                         ?>
                    </div>
               </center>
          </center>
     </body>
</html>
<?php


function create_tumb($sourse, $counFilet,$tumb_width=196) {

     if (($_FILES['file'.$counFilet]['type'] == 'image/gif')) {

          $tum_folder = dirname($sourse).'/tumb';
          $new_name = 'tumb_' . basename($sourse);
          $img = imagecreatefromgif($sourse);
          $width = imagesx($img);
          $height = imagesy($img);
          if ($width > $height) {
               $new_width = floor($width * ( $new_height / $height ));
               $new_height = $tumb_width;
          } else {
               $new_width = $tumb_width;
               $new_height = floor($height * ( $tumb_width / $width ));
          }
          $tmp_img = imagecreatetruecolor($new_width, $new_height);
          imagecopyresized($tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
          imagejpeg($tmp_img, $tum_folder .'/'. $new_name);
     }

     if (($_FILES['file'.$counFilet]['type'] == 'image/bmp')) {

          $tum_folder = dirname($sourse).'/tumb';
          $new_name = 'tumb_' . basename($sourse);
          $img = imagecreatefromjpeg($sourse);
          $width = imagesx($img);
          $height = imagesy($img);
          //          $new_width = $tumb_width;
          //          $new_height = floor($height * ( $tumb_width / $width ));
          if ($width > $height) {
               $new_width = floor($width * ( $new_height / $height ));
               $new_height = $tumb_width;
          } else {
               $new_width = $tumb_width;
               $new_height = floor($height * ( $tumb_width / $width ));
          }
          $tmp_img = imagecreatetruecolor($new_width, $new_height);
          imagecopyresized($tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
          imagejpeg($tmp_img, $tum_folder .'/'. $new_name);
     }

     if (($_FILES['file'.$counFilet]['type'] == 'image/jpeg')) {

          $tum_folder = dirname($sourse).'/tumb';
          $new_name = 'tumb_' . basename($sourse);
          $img = imagecreatefromjpeg($sourse);
          $width = imagesx($img);
          $height = imagesy($img);
          $new_width = $tumb_width;
          $new_height = floor($height * ( $tumb_width / $width ));
          $tmp_img = imagecreatetruecolor($new_width, $new_height);
          imagecopyresized($tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
          imagejpeg($tmp_img, $tum_folder .'/'. $new_name);
     }

     if (($_FILES['file'.$counFilet]['type'] == 'image/png')) {

          $tum_folder = dirname($sourse).'/tumb';
          $new_name = 'tumb_' . basename($sourse);
          $img = imagecreatefrompng($sourse);
          $width = imagesx($img);
          $height = imagesy($img);
          if ($width > $height) {
               $new_width = floor($width * ( $new_height / $height ));
               $new_height = $tumb_width;
          } else {
               $new_width = $tumb_width;
               $new_height = floor($height * ( $tumb_width / $width ));
          }
          $tmp_img = imagecreatetruecolor($new_width, $new_height);
          imagecopyresized($tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
          imagejpeg($tmp_img, $tum_folder .'/'. $new_name);
     }
}
//session_destroy();
 

Back
Горе