У меня есть два варианта загрузки изображений один для значка, а другой для изображения, я создал пользовательскую функцию загрузки изображений ajax в jquery, которая отправляет значения в PHP для обработки. я получаю загрузку изображения для правильной работы, т. е. при щелчке по иконке загружается только значок, и если изображение кликается, только изображение обновляется, моя проблема заключается в том, что я получаю оба значения, заданные в PHP, что вызывает ошибку в не выбранном (значок или изображение ).
мои коды:
<Сильный> HTML
<form name="change" enctype="multipart/form-data">
<input name="icon" type="file" />
<input name="image" type="file" />
</form>
<div id="icon">
</div>
<div id="image ">
</div>
<div id="result"></div>
<Сильный> jQuery (Аякс)
$('#icon img').click(function() {
$('input[name=image ][type=file]').val(null);
$('input[name=icon][type=file]').trigger('click');
});
$('#image img').click(function() {
$('input[name=icon][type=file]').val(null);
$('input[name=image ][type=file]').trigger('click');
});
$('input[name=icon], input[name=image ]').change(function() {
change();
});
function change(){
var formData = new FormData($('form[name=change]')[0]);
formData.append("CustomField", "This is some extra data");
$.ajax({
url: 'upload.php',
type: 'POST',
data: formData,
success: (function(data){
$('#result').html(data);
}),
cache: false,
processData: false,
contentType: false
});
}
<Сильный> PHP
if(isset($_FILES['icon']) && !empty($_FILES['icon']) && $_FILES['icon'] !== ''){
echo 'icon set'.'
';
}
else{
echo 'icon not set'.'
';
}
if(isset($_FILES['image ']) && !empty($_FILES['image ']) && $_FILES['image '] !== ''){
echo 'image set'.'
';
}
else{
echo 'image not set'.'
';
}
Если какой-либо значок или изображение выбрано для загрузки, я получаю результат как.
icon set
image set
См. И укажите, что вызывает ошибку в php.
Благодарю.