이미지 업로드 옵션 중 하나는 아이콘 용이고 다른 하나는 이미지 용입니다. jquery에서 커스텀 아약스 이미지 업로드 기능을 만들었습니다. jQuery는 처리를 위해 PHP로 값을 전송합니다. 나는 제대로 작동하도록 이미지를 업로드하고있다. ie 아이콘 만 클릭하면 아이콘이 업로드되고 이미지가 클릭되면 이미지가 올라가고, 내 문제는 내가 선택하지 않은 오류를 일으키는 PHP에서 설정된 두 값을 얻고있다 (아이콘 또는 이미지) 들.Ajax 이미지 업로드 PHP 처리
내 코드는 다음과 같습니다
HTML
<form name="change" enctype="multipart/form-data">
<input name="icon" type="file" />
<input name="image" type="file" />
</form>
<div id="icon"><img src="---" /></div>
<div id="image "><img src="---" /></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'.'<br />';
}
else{
echo 'icon not set'.'<br />';
}
if(isset($_FILES['image ']) && !empty($_FILES['image ']) && $_FILES['image '] !== ''){
echo 'image set'.'<br />';
}
else{
echo 'image not set'.'<br />';
}
업로드 할 아이콘 또는 이미지가 하나라도 선택되면 결과가 달라집니다.
icon set
image set
PHP에서 오류의 원인을 확인하고 제안하십시오.
감사합니다.
중간 상태 인 &&! empty ($ _ FILES [ '아이콘'])을 시도하셨습니까? –