내 PHP 파일에서 과거 isset ($ _ FILES [ 'formFile'])을 가져올 수 없다. 항상 false를 반환한다. Ext js 4.1을 사용하고 있습니다. 제 목표는 이러한 이미지를 BLOB에 저장하는 것입니다.php로 이미지 파일 보내기
에 extjs 번호 :
var fi = new Ext.FormPanel({
fileUpload: true,
width: 400,
frame: false,
autoHeight: true,
labelWidth: 40,
border: false,
margins: '10 0 0 10',
defaults: {
anchor: '95%',
allowBlank: false,
msgTarget: 'side',
border: false
},
items: [{
xtype: 'filefield',
emptyText: 'Select an image',
fieldLabel: 'Image',
id: 'formFile',
buttonCfg: {
text: '',
iconCls: 'upload-icon'
},
border: false
}],
buttons: [{
text: 'Upload',
handler: function(){
var form = this.up('form').getForm();
if(form.isValid()){
form.submit({
url: 'php/picture-upload.php',
waitMsg: 'Uploading your image...',
success: function(fi, o){
alert('succes');
}
});
}
}
}]
});
PHP :
if (!isset($_FILES['formFile'])) {
echo '<p>Please select a file</p>';
echo '{"success": false}';
} else {
try {
upload();
echo '<p>Thank you for submitting</p>';
} catch (Exception $e) {
echo $e->getMessage();
echo 'Sorry, could not upload file';
}
}
print_r의 출력 ($ _ FILES);
Array
(
[formFile-inputEl] => Array
(
[name] => clicla.jpg
[type] => image/jpeg
[tmp_name] => /Applications/MAMP/tmp/php/phpnUxgV3
[error] => 0
[size] => 6772
)
$ _FILES에 대해서만 isset을 사용하지 마십시오. 실패한 업로드에 대해서도 설정됩니다. 절대 [[ 'error']'매개 변수도 확인해야합니다. 실패의 경우 0이 아닙니다. –
감사합니다. – user2161575