Hiii全員、複数の画像をアップロードし、各画像パスをmysqlの別の列に保存します。データベース
ここは私のHTMLフォームです。
<form action="" id="uploadForm" class="col-md-8 col-md-offset-2" >
<h2 class="bold text-uppercase"></h2>
<br>
<div>
<div class="input-group form-group">
<label for=""> Upload Your Photo </label>
<br>
<input name="userImage[]" type="file" class="inputFile">
</div>
</div>
<div class="input-group form-group">
<label for=""> Upload Your Resume</label>
<br>
<input name="userImage[]" type="file" class="inputFile">
</div>
<div class="input-group form-group">
<label for=""> SSLC Mark Sheet</label>
<br>
<input name="userImage[]" type="file" class="inputFile">
</div>
そして私のAjaxのコードは、私は3枚の画像をアップロードした場合、それが保存されている正確にどのような今の私のコードでhapening
$("#uploadForm").on('submit',(function(e) {
e.preventDefault();
$.ajax({
url: "upload.php",
type: "POST",
data: new FormData(this),
contentType: false,
cache: false,
processData:false,
success: function(data){
alert(data);
},
error: function(){}
});
}));
そして、私のPHPコード
<?php
$link = mysqli_connect("localhost","root","","spark") or die("Error ".mysqli_error($link));
if(is_array($_FILES)) {
foreach ($_FILES['userImage']['name'] as $name => $value){
if(is_uploaded_file($_FILES['userImage']['tmp_name'][$name])) {
$sourcePath = $_FILES['userImage']['tmp_name'][$name];
$targetPath = "uploads/".$_FILES['userImage']['name'][$name];
if(move_uploaded_file($sourcePath,$targetPath)) {
$query = "INSERT INTO filedetails(filepath) VALUES ('$fileTarget')";
$link->query($query) or die("Error : ".mysqli_error($link));
?>
<img src="<?php echo $targetPath; ?>" width="150px" height="180px" />
<?php
}}}}
?>
ですimagesフォルダに挿入し、ファイルパスの詳細を表の単一の列名に挿入します。filepath.whatは、それぞれのイメージを分割したいと思っています。fr私がこの配列$ _FILES ['userImage']から各値を得る方法を簡単に説明するために、配列userImageをomに設定します。誰かが解決策を伝えることができれば、それは私を助けるでしょう。事前に感謝します。
を参照してくださいには、最適なデータベース設計よりも少ないような音。列にイメージを格納する必要はありません。彼らは理想的には列に並ぶべきです。 – e4c5
私は1人の学生id.likeのために6枚の画像を保存したいと思います。もし10枚目のマークシートを12枚目にアップロードすると、これらはすべて同じ行の別の列になければなりません。 –
それはさらに悪いことです。 – e4c5