2015-08-31 106 views
1

我要上傳多個文件/圖片路徑與1儲存在數據庫提交按鈕...... 這是我在HTML形式正在做上傳多個文件/文件與1圖片提交按鈕

Icon: 
<br> 
<br> 
<input type="file"  name="uploadedfile" > 
<br> 
<br> 
Screenshot: 
<br> 
<br> 
<input type="file" name ="fileToUpload"> 
<br> 

這是我的PHP代碼

<?php 

if (isset($_POST['submit'])){ 
$target_dir= "images/"; 
$target_file= $target_dir.basename($_FILES['uploadedfile']['name']); 
$tmp=$_FILES['uploadedfile']['tmp_name']; 
if (move_uploaded_file($tmp,$target_file)){ 

    echo "uploaded successfully"; 

} 
else { 
    echo "not uploaded successfully"; 
} 

$targets_dir= "images/"; 
$targets_file= $targets_dir.basename($_FILES['fileToUpload']['name']); 
$tmps=$_FILES['fileToUpload']['tmp_name']; 

if (move_uploaded_file($tmps,$targets_file)){ 

    echo "uploaded successfully"; 

} 
else { 
    echo "not uploaded successfully"; 
} 

$insert=" insert into app values (DEFAULT,'$Title', '$target_file' , '$targets_file' )"; 

} 

但其沒有工作...... 任何意見可以理解.. 預先感謝

+0

寫您的$ _FILES變量的轉儲在第一行,也許你會看到這個模式... – Cosmin

+0

另外'$ _FILES [...] [「名」]'不包含路徑但只有文件名。使用'basename()'實際上可能是一個問題。我還建議不要僅僅假設已上傳的東西,而是明確檢查'$ _FILES'中的元素是否存在,並且不報告錯誤。最後一件事:你的表單是否正確設置爲'enctype =「multipart/form-data」'? –

+0

和1件事情,當我試圖上傳只有1張圖片它工作正常......但是當我試圖上傳2張圖片然後沒有發生...... @直到Helge –

回答

0

使用此代碼,你只需要插入查詢。休息一切都會正常工作。

if ((!empty($_FILES['uploadedfile']["name"])) && (!empty($_FILES['fileToUpload']["name"]))) 
{ 

$file_name1=$_FILES['uploadedfile']["name"]; 
$temp_name1=$_FILES['uploadedfile']["tmp_name"]; 
$imagename1=date("d-m-Y")."-".time();  
$target_path1 = "images/".$imagename1; 
$Rtarget_path1 = "images/".$imagename1; 

$file_name2=$_FILES['fileToUpload']["name"]; 
$temp_name2=$_FILES['fileToUpload']["tmp_name"]; 
$imagename2=date("d-m-Y")."-".time();  
$target_path2 = "images/".$imagename2; 
$Rtarget_path2 = "images/".$imagename2; 

    if((move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $Rtarget_path1)) && (move_uploaded_file($_FILES['fileToUpload']['tmp_name'], $Rtarget_path2))) 
    { 
     $insert=" insert into app values (DEFAULT,'$Title', '$target_path1' , '$target_path2' )"; // Insert Query Wrong. Also Check Here 
    } 
} 
+0

感謝您的評論....但其實我的問題是這樣的,當我試圖上傳2張圖片,然後似乎PHP代碼不執行....但是當我試圖上傳1張圖片然後一切發生就好了 –

+0

當您嘗試從一個文件上傳2張圖片?您要上傳從單一的輸入文件的兩個圖像@zeeshansarfraz –

+0

圖標:



截圖:


你可以看到我使用2個輸入.......兩個都有不同的名字@Danish Enam –

0

您可以從單個input元素中做multiple file uploads

對於您的情況,您只需將input元素的name這兩個元素重命名爲file[]即可。該數組([])非常重要,它告訴file確實是一個包含多個文件的數組。

在服務器端,第一個文件名(您的圖標)可以像$_FILES['file']['name'][0]那樣訪問,第二個名稱(屏幕截圖)可以像$_FILES['userfile']['name'][1]那樣訪問。

您可以查看documentation中的更多選項。

+0

爲什麼我應該使用數組?指爲什麼我不能做這樣的事情@Leory圖標:



截圖:


+1

如果你看看我鏈接的文檔,有一個正是你想要完成的例子。 – Leroy