0
複数のファイルをアップロードしていて、その詳細をSQLデータベースに保存しようとしていますが、最初のファイルのみがアップロードされ、私はfile1
を選択した場合、例えば、PHP複数のファイルをSQLにアップロードすると、最初のファイルのみがアップロードされます
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";
}
}
}
}
:ファイルにそのような名前や種類などの情報をアップロードするための
<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コード:ここで
フォームで複数のファイルをつかむために私のHTMLです、file2
& file3
。 file1
の情報のみがdbに挿入されますが、file2
& file3
はデータベースにまったく挿入されませんでした。
ここで問題は何ですか?ここで
は私のinsertメソッドです:
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です、私もすべてのファイル名とパスを印刷することができます。 –