0
我上傳多個文件,並試圖將他們的詳細信息存儲在SQL數據庫,但只有第一個文件上傳,並停止上傳其餘選定的文件。PHP多個文件上傳到SQL,只有第一個文件上傳
這是我的HTML搶在表單中多個文件:
<form method="post" enctype="multipart/form-data">
<input name="my_file[]" type="file" id="userfile" multiple>
<button type="submit" name="btn-upload">upload</button>
</form>
我上傳的文件信息,如名稱和類型的PHP代碼:
if(isset($_POST['btn-upload'])){
if (($_FILES['my_file']['name']!="")){
for ($i = 0 ; $i < count($_FILES['my_file']['name']) ; $i++){
$target_dir = "upload_test/";
$file = $_FILES['my_file']['name'][$i];
$path = pathinfo($file);
$ext = $path['extension'];
$target_dir = $target_dir.basename($file);
$user = "xxx";
if(insertFile_info(basename($file) , $target_dir, $user, $ext, $conn)){
echo "Insert file success";
}else{
echo "Insert Failed";
}
}
}
}
例如,如果我選擇file1
,file2
& file3
。只有file1
的信息插入到db,但file2
& file3
根本沒有插入數據庫。
這裏有什麼問題?
這裏是我的插入方法:
function insertFile_info ($file_name , $path, $username, $type, $conn){
$sql = "INSERT INTO URL (file_name, path, username, type) VALUES (?, ?, ?, ?);";
$params = array($file_name , $path, $username, $type);
if (sqlsrv_query($conn, $sql, $params) === TRUE) {
// success
} else {
die(print_r(sqlsrv_errors(), true));
}
}
看看這是否有幫助。 https://stackoverflow.com/questions/13270210/upload-multiple-files-to-server-and?rq=1 –
echo count的輸出是什麼($ _ FILES ['my_file'] ['name']) )''' –
@WalkerBoh計數是3,我也可以打印所有的文件名和路徑。 –