0
我有一個表單,用戶可以上傳多個圖像。我需要一種方法讓用戶在提交表單之前從他剛剛上傳的圖像中選擇一張圖像作爲他的主要圖片。如何讓用戶從剛剛上傳的多個圖像中選擇一個圖像而不刷新頁面?
我已經使用JavaScript文件閱讀器加載預覽。我試圖通過JavaScript爲圖像用戶選擇的名稱添加一個名稱,因此可以將它作爲PHP腳本中的後期元素進行訪問。但它不能工作,因爲它不能作爲文件訪問。在發佈這個問題之前,我已經花了整整3天的時間。這將是一個巨大的幫助,我可以告訴我如何解決這個問題。
下面的形式:
<input type="file" name="files[]" multiple="true" id="file">
<div class="list"></div>
Javascript代碼加載預覽:
var imagesPreview = function(input, p) {
var id=1;
if (input.files) {
var filesAmount = input.files.length;
for (i = 0; i < filesAmount; i++) {
var reader = new FileReader();
reader.onload = function(event) {
$($.parseHTML('<img class="thumb" id="'+id+'">')).attr('src', event.target.result).appendTo(p);
id++;
}
reader.readAsDataURL(input.files[i]);
}
}
};
PHP代碼上傳文件:
$total = count($_FILES['files']['name']);
// Loop through each file
for($i=0; $i<$total; $i++) {
//Get the temp file path
$tmpFilePath = $_FILES['files']['tmp_name'][$i];
//Make sure we have a filepath
if ($tmpFilePath != ""){
//Setup our new file path
$newFilePath = "gig_pics/" . $_FILES['files']['name'][$i];
//Upload the file into the temp dir
move_uploaded_file($tmpFilePath, $newFilePath);
$file_sql = "INSERT INTO `gig_pics`(id,gig_id,pic) VALUES ('','$gid','$newFilePath')";
$file_res = mysqli_query($conn,$file_sql);
}
}
而且與jQuery添加名稱後,我嘗試訪問圖像作爲後
$main_img_path = $_POST['selectImage'];
$main_img_path = $_FILES['selectImage'];
但我可以做任何事情。
很難幫助沒有看到一些代碼。 ;) – Sam
謝謝,我已經上傳了代碼。對不起,我認爲代碼可能太多了。 –
謝謝,我已經在下面給出了一個可能的答案。 – Sam