1

PHP ファイルで isset($_FILES['formFile']) を通過できないようです。常に false を返します。Ext js 4.1 を使用しています。私の目標は、これらの画像を blob に保存することです。

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
    )
4

1 に答える 1

4

isset は、出力に基づいて formFile-inputEl をチェックする必要があります。

if (!isset($_FILES['formFile-inputEl'])) {
}
于 2013-03-12T15:19:39.807 に答える