2013-10-04 41 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的網頁上顯示的任何東西,如果我不使用foreach循環...例如,如果我只對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包含每個文件的temprory名稱。所以我做了一些這樣的事..

我改變了這種代碼: 從

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."); 
}