Здравейте. Досега използвах този код за ъллоуд, но ми се налага да качвам повече от една снимка едновременно чрез multiple, а не една по една. Когато добавя multiple се качва само първата снимка.
Код:
<div id="div_za_izbor_na_failove" >
<h3><img src="images/camera-icon.png" />Добави изображения </h3>
<table border="0" id="tabli4ka" ><tr><td>
<input type="file" id="file_1" name="file_name_1" onchange="validaciq_na_izobrajeniqta()" [color=red]multiple[/color] />
</td></tr></table>
</div>
<input type="hidden" id="hidden_value" value="1" name="number_of_images" />
<input type="hidden" id="pone_edno_izobr" value="no" name="at_least_one_pic" />
<input type="hidden" id="povtarqshti_se_izobrajeniq" value="no" name="povtarqshti_izobrajeniq" />
<input type="button" onclick="choose_another_file()" id="add_image" /></br>
<input type="submit" value="Добави!" name="submitche" id="dobavi_zapis" disabled="disabled">
</form>
Код:
$number_of_images = $_POST['number_of_images']; // integer
$number_of_real_images = 0 ;
$at_least_one_pic = false ;
for($i = 1 ; $i <= $number_of_images ; $i++) // proverka dali izobshto ima edno izobrano izobrajenie
{
$file_name = $_FILES["file_name_$i"]["name"];
if($file_name == "")
{
continue ;
}
else
{
$at_least_one_pic = true ;
$number_of_real_images++ ;
}
}
//echo " Nomer na poleta za kachvane na izobrajeniq : $number_of_images <br/>"; // testov red
//echo "Nomer na realnite izobrajeniq $number_of_real_images <br/> ";
$masiv = array(); // masiv sudurjash imenata na failove i tehnite razshireniq
for($i = 1 ; $i <= $number_of_images ; $i++)
{
if($_FILES["file_name_$i"]["name"] == "")
{
continue ;
}
else
{
$masiv[] = $_FILES["file_name_$i"]["name"];
}
}
for($i = 0 ; $i < $number_of_real_images ; $i++) // proverka da nqma povtarqshti se izobrajeniq
{
for($z = 0 ; $z < $number_of_real_images ; $z++)
{
if($z == $i)
{
continue ;
}
else
{
if($masiv[$i]==$masiv[$z])
{
echo "Не можеш да качиш две повтарящи се изображения ! Име на повтарящото се изображение : ".$masiv[$i];
exit ;
}
}
}
}
if($at_least_one_pic == false)
{
echo "Не сте избрали изображение . Задължително е да изберете поне едно";
exit ;
}
else
{
$original_images_string ="" ;
$small_images_string ="";
$start = 1 ;
$upload_folder_for_big_images="images/Big_images/";
$upload_folder_for_small_images="images/Small_images/";
// 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
// kum realnite izobrajeniq
for($i = 1 ; $i <= $number_of_images ; $i++)
{
$file_name = $_FILES["file_name_$i"]["name"];
if($file_name == "")
{
continue ;
}
$extention = substr($file_name, -4) ;
$path_plus_filename =$upload_folder_for_big_images.$latin_name."_pic_".$start.$extention ;
$try_to_upload = move_uploaded_file($_FILES["file_name_$i"]["tmp_name"] , "../".$path_plus_filename);
if($try_to_upload == false)
{
echo "problem pri uploada na source image !!!!";
exit ;
}
$original_images_string .= $path_plus_filename ;
$original_images_string .="|";
resize_image("../".$path_plus_filename ,'210','180',$upload_folder_for_small_images.$latin_name."_pic_".$start.$extention );
$small_images_string .= $upload_folder_for_small_images.$latin_name."_pic_".$start.$extention ;
$small_images_string .="|";
$start++;
}
}
$original_images_string =substr($original_images_string ,0 ,-1 ) ;
$small_images_string =substr($small_images_string , 0 , -1 ) ;