За последние 24 часа нас посетили 16797 программистов и 1647 роботов. Сейчас ищут 1104 программиста ...

Загрузить несколько фотографий (multiple)

Тема в разделе "Сделайте за меня", создана пользователем aivanov, 12 дек 2014.

  1. aivanov

    aivanov Новичок

    С нами с:
    10 дек 2014
    Сообщения:
    5
    Симпатии:
    0
    Вот это мой старый код, с которым я загружал фотографии но только по одной. Как его изменить, так чтобы загружать сразу несколько фотографий? /multiple/

    Код (Text):
    1. <?php
    2. echo '
    3.  
    4. ?>
    5. </div>
    6. <div  id="div_za_izbor_na_failove" >
    7. <h3><img src="http://www.cyberforum.ru/images/camera-icon.png" />Добави изображения </h3>
    8. <table  border="0" id="tabli4ka" ><tr><td>
    9. <input type="file" id="file_1"  name="file_name_1" onchange="validaciq_na_izobrajeniqta()" multiple  />
    10. </td></tr></table>
    11. </div>
    12. <input type="hidden" id="hidden_value" value="1"  name="number_of_images" />
    13. <input type="hidden" id="pone_edno_izobr" value="no"  name="at_least_one_pic" />
    14. <input type="hidden" id="povtarqshti_se_izobrajeniq" value="no"  name="povtarqshti_izobrajeniq" />
    15. <input type="button" onclick="choose_another_file()" id="add_image" /></br>
    16.  
    17. <input type="submit" value="Добави!"  name="submitche"  id="dobavi_zapis" disabled="disabled">
    18.  
    19. </form>
    20.  
    21.  
    22. <?php
    23. if(isset($_POST["submitche"]))
    24. {
    25.    
    26.    
    27.     // vzimane na stoinostite ot tekstovite poleta
    28.     $kategoriq = $_POST["kategorii"];
    29.     $marka = $_POST["marka"];
    30.     $model = $_POST["model"];
    31.    
    32.     $godina_na_proizvodstvo = $_POST["godina_na_proizvodstvo"];
    33.     if($godina_na_proizvodstvo=="")
    34.     {
    35.         $godina_na_proizvodstvo ="NULL";
    36.     }
    37.     else
    38.     {
    39.         $godina_na_proizvodstvo ="'$godina_na_proizvodstvo'";
    40.     }
    41.    
    42.     $dopulnitelna_informaciq = $_POST["tekstova_zona"];
    43.     if(empty($dopulnitelna_informaciq))
    44.     {
    45.         $dopulnitelna_informaciq = "NULL" ;
    46.     }
    47.     else
    48.     {
    49.         $dopulnitelna_informaciq = "'$dopulnitelna_informaciq'" ;
    50.     }
    51.    
    52.     $v_nalichnost = $_POST["available"];
    53.    
    54.     // konekciq kum bazata danni
    55.     $db = new MYSQL_DB();
    56.     $db->connect();
    57.     $db->select_db();
    58.     $db->set_names_utf_8();
    59.     $db->query="select * from advanced";
    60.     $db->run_query() ;
    61.     $db->number_of_results_found_fn();
    62.     $namereni_rezultati = $db->number_of_results_found ;
    63.     $id ;
    64.     if($namereni_rezultati == 0)
    65.     {
    66.         $id = 1 ;
    67.     }
    68.     else
    69.     {
    70.         $db->query="SELECT COUNT(*) as total FROM advanced";
    71.         $db->run_query();
    72.         $db->number_of_results_found_fn() ;
    73.         $rows = $db->number_of_results_found ;
    74.         $row = mysql_fetch_array($db->query_result) ;
    75.         $total_rows = $row[0];
    76.         $last_row_index = $total_rows - 1 ;
    77.         $db->query="select Zapis_ID from advanced limit $last_row_index , 1 ";
    78.         $db->run_query();
    79.         $row = mysql_fetch_array($db->query_result) ;
    80.         $last_id_value = $row[0] ;
    81.         $id = $last_id_value + 1 ;
    82.        
    83.         // da se testva
    84.     }
    85.     //echo "ID na posledniq red $id <br/>" ; // testov red
    86.    
    87.    
    88.     $word = new Word_processing();
    89.     $model_trimmed = trim($model);
    90.     $marka_trimmed = trim($marka);
    91.     $name = $marka_trimmed."_".$model_trimmed."_id_".$id ;
    92.     $word->name = $name ;
    93.     $latin_name = $word->kirilica_kum_latinica();
    94.     //echo $latin_name."<br/>"; // testov red
    95.    
    96.     $number_of_images = $_POST['number_of_images']; // integer
    97.     $number_of_real_images = 0 ;
    98.     $at_least_one_pic = false ;
    99.     for($i = 1 ; $i <= $number_of_images ; $i++) // proverka dali izobshto ima edno izobrano izobrajenie
    100.     {
    101.         $file_name = $_FILES["file_name_$i"]["name"];
    102.        
    103.         if($file_name == "")
    104.         {
    105.             continue ;
    106.         }
    107.         else
    108.         {
    109.             $at_least_one_pic = true ;
    110.             $number_of_real_images++ ;
    111.         }
    112.        
    113.     }
    114.    
    115.     //echo " Nomer na poleta za kachvane na izobrajeniq : $number_of_images <br/>"; // testov red
    116.     //echo "Nomer na realnite izobrajeniq $number_of_real_images <br/> ";
    117.    
    118.     $masiv = array(); // masiv sudurjash imenata na failove i tehnite razshireniq
    119.     for($i = 1 ; $i <= $number_of_images ; $i++)
    120.     {  
    121.         if($_FILES["file_name_$i"]["name"] == "")
    122.         {
    123.             continue ;
    124.         }
    125.         else
    126.         {
    127.             $masiv[] = $_FILES["file_name_$i"]["name"];
    128.         }
    129.            
    130.     }
    131.  
    132.    
    133.     for($i = 0 ; $i <  $number_of_real_images ; $i++)   // proverka da nqma povtarqshti se izobrajeniq
    134.     {
    135.        
    136.         for($z = 0  ; $z < $number_of_real_images  ; $z++)
    137.         {  
    138.            
    139.             if($z == $i)
    140.             {
    141.                 continue ;
    142.             }
    143.             else
    144.             {
    145.                
    146.                 if($masiv[$i]==$masiv[$z])
    147.                 {
    148.                     echo "Не можеш да качиш две повтарящи се изображения ! Име на повтарящото се изображение : ".$masiv[$i];
    149.                     exit ;
    150.                 }
    151.                
    152.             }
    153.            
    154.         }
    155.        
    156.        
    157.     }
    158.    
    159.     if($at_least_one_pic == false)
    160.     {
    161.         echo "Не сте избрали изображение . Задължително е да изберете поне едно";
    162.         exit ;
    163.     }
    164.     else
    165.     {
    166.         $original_images_string ="" ;
    167.         $small_images_string ="";
    168.         $start = 1 ;
    169.         $upload_folder_for_big_images="http://www.cyberforum.ru/images/Big_images/";
    170.         $upload_folder_for_small_images="http://www.cyberforum.ru/images/Small_images/";
    171.         // for cikul kopirash originalnoto izobrajenie i praveiki ot nego malko izobrajenie . Populva i gornite dva stringa i postavq sudurjanieto imm v baza danni kato referenciq
    172.         // kum realnite izobrajeniq
    173.         for($i = 1 ; $i <= $number_of_images  ; $i++)
    174.         {
    175.             $file_name = $_FILES["file_name_$i"]["name"];
    176.             if($file_name == "")
    177.             {          
    178.                 continue ;
    179.             }
    180.             $extention = substr($file_name, -4) ;
    181.             $path_plus_filename =$upload_folder_for_big_images.$latin_name."_pic_".$start.$extention ;
    182.             $try_to_upload =    move_uploaded_file($_FILES["file_name_$i"]["tmp_name"] , "../".$path_plus_filename);
    183.                 if($try_to_upload == false)
    184.                 {
    185.                     echo "problem pri uploada na source image !!!!";
    186.                     exit ;            
    187.                 }
    188.             $original_images_string  .= $path_plus_filename ;
    189.             $original_images_string  .="|";
    190.            
    191.             resize_image("../".$path_plus_filename ,'210','180',$upload_folder_for_small_images.$latin_name."_pic_".$start.$extention  );
    192.             $small_images_string .= $upload_folder_for_small_images.$latin_name."_pic_".$start.$extention ;
    193.             $small_images_string .="|";
    194.             $start++;
    195.         }
    196.     }
    197.     $original_images_string =substr($original_images_string ,0 ,-1 ) ;
    198.     $small_images_string =substr($small_images_string , 0 , -1 ) ;
    199.    
    200.     $data = date("Y-m-d");
    201.     $db->query="INSERT INTO `shoemake_album`.`advanced` (`Zapis_ID`, `Kategoriq`, `Marka`, `Model`, `Godina_na_proizvodstvo`, `Dopulnitelna_informaciq`, `V_nalichnost`, `Big_images`, `Small_images`, `Data_na_dobavqne` , `Posledna_Redakciq`) VALUES (NULL, '$kategoriq', '$marka_trimmed', '$model_trimmed', $godina_na_proizvodstvo, $dopulnitelna_informaciq, '$v_nalichnost', '$original_images_string', '$small_images_string', '$data' , '$data' );";
    202.     //echo $db->query ;
    203.     $db->run_query() ;
    204.     $db->affected_rows();
    205.     if($db->number_of_affected_rows==1)
    206.     {
    207.         echo "Успешно добавихте запис за $marka_trimmed";
    208.     }
    209.     else
    210.     {
    211.         echo "Проблем с добавянето на записа !";
    212.     }
    213. }
    214.  
    215. ?>
    216. </div>
    217. </body>
    218. </html>
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    сделай несколько полей типа file, получишь несколько файлов в загрузке.
     
  3. aivanov

    aivanov Новичок

    С нами с:
    10 дек 2014
    Сообщения:
    5
    Симпатии:
    0
    Что должно быть сделано?
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Могу помочь ссылкой на документацию php.net/manual/ru/features.file-upload.php