Form tanımınızda bunu kaçırıyorsunuz:
$form['#attributes']['enctype'] = 'multipart/form-data'; // If this is not here, upload will fail on submit
Bir formda dosya yükleme widget'ı oluşturmak için kullandığım mantık:
// these give us the file upload widget:
$form['#attributes']['enctype'] = 'multipart/form-data'; // If this is not here, upload will fail on submit
$form['fid'] = array( '#title' => t('Upload image'),
'#type' => 'file',
'#description' => t('Images must be one of jpg, bmp, gif or png formats.'),
);
Ve işte bu mantığın karşılığı, formumun onaylama geri çağrısında var, çünkü mantığımda görüntü dosya adı kısıtlamaları var, ancak bunu isterseniz geri gönderme geri gönderisine yerleştirebilirsiniz:
// @see: http://api.drupal.org/api/function/file_save_upload/6
// $file will become 0 if the upload doesn't exist, or an object describing the uploaded file
$file = file_save_upload( 'fid' );
error_log( 'file is "'.print_r( $file, true ).'"' );
if (!$file) {
form_set_error('fid', t('Unable to access file or file is missing.'));
}
bu kadar.
$form['#attributes']['enctype']
Drupal 7'ye ihtiyacınız yok . Otomatik olarak halledilir