2013-10-04 3 views
1

Я готов загрузить несколько изображений, но имеющую странную проблему .. Я использую этот простой код ...множественная загрузка изображений ..... не работает

<?php 
require("query/config.php"); 
$p_id=$_POST['place_id']; 
$file=$_FILES["image"]["name"]; 
print_r($file); 
echo "hghghg"; 
foreach($file as $key=>$val) 
{ 
move_uploaded_file($_FILES["image"]["tmp_name"],"/upload/" . $val); 
$query=mysqli_query($con,"insert into city_gallery set place_id='$p_id',image='$val'") or die("Alert! Query failed."); 

} 

это код не работают и не показывая что-то на upload.php странице, если я не использую цикл Еогеасп ... например, если у меня есть только этот код на upload.php .. это отображение ...

<?php 
require("query/config.php"); 
$p_id=$_POST['place_id']; 
$file=$_FILES["image"]["name"]; 
print_r($file); 
echo "hghghg"; 

здесь выход ... Array ([0] => 86662.jpg [1] => beautiful-girl-baby-hd-images.jpg [2] => [3] =>) hghghg

, поэтому его средний массив изображения присутствует на этой странице ... но когда я использую верхний код выше с foreach, он ничего не отображает на этой странице, а также не перемещает изображение в папке загрузки, а не то, что имя изображения происходит в базе данных ,

здесь моя форма ..

<form action="upload.php" method="post" enctype="multipart/form-data"> 

         <?php 

         include("query/config.php"); 
         $query=mysqli_query($con,"select * from cite_guide order by id desc"); 
         ?> 
         <select id="place_id" name="place_id" > 
         <option value="0">Select Place</option> 
         <?php 
         while($row=mysqli_fetch_array($query)) 
         { 
         ?> 
           <option value="<?php echo $row['id']; ?>"><?php echo $row['place']; ?></option> 
           <?php 
           } 
           ?> 
           </select> 
          <fieldset>Image 1 

           <input type="file" class="input-medium" name="image[]" /> 
          </fieldset> 
          <fieldset>Image 2 

           <input type="file" class="input-medium" name="image[]" /> 
          </fieldset> 
          <fieldset>Image 3 

           <input type="file" class="input-medium" name="image[]" /> 
          </fieldset> 


          <fieldset>Image 4 

           <input type="file" class="input-medium" name="image[]" />&nbsp;&nbsp;<input class="submit-green" type="submit" value="Upload" /> 
          </fieldset> 

         </form> 

Теперь имя изображения происходит в базу данных, но изображение не движется загрузить foldar ... для изображения я исправил эту

move_uploaded_file($_FILES["file"]["tmp_name"],"/upload/" . $val); 

к

теперь только изображение не движется ... почему ????

любая идея, почему это происходит ... пожалуйста, предложите ... Спасибо

+0

увидеть мои обновления ... форма есть – Dinesh

+1

'var_dump ($ _ FILES [ 'image']) '- для нескольких файлов он имеет разную структуру, чем для 1 файла. –

+0

Возможный дубликат: http://stackoverflow.com/questions/8264445/multiple-upload-image-function-php Проверьте [принятый ответ] (http://stackoverflow.com/questions/8264445/multiple-upload-image -функции-PHP # ответ-8264565). – showdev

ответ

0

Спасибо за ваше время, это была проблема зацикливание ... я заменяю foreach петлю на for и мой скрипт работает сейчас, основная проблема, с которой я столкнулся с циклом foreach для перемещения массива $_FILES, И вроде temp_name содержит временное имя для каждого файла. Так что я сделал некоторые вещи, как это ..

Я изменил этот код: От

foreach($file as $key=>$val) 
{ 
move_uploaded_file($_FILES["image"]["tmp_name"],"/upload/" . $val); 
$query=mysqli_query($con,"insert into city_gallery set place_id='$p_id',image='$val'") or die("Alert! Query failed."); 

} 

Для

for($i=0;$i<sizeof($file);$i++) 
{ 
$file=$_FILES["image"]["name"][$i]; 
move_uploaded_file($_FILES["image"]["tmp_name"][$i],"/upload/" .$file); 
$query=mysqli_query($con,"insert into city_gallery set place_id='$p_id',image='$val'") or die("Alert! Query failed."); 
} 
Смежные вопросы