[résolu]Upload file en utilisant l'API Form

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour à tous,
je rencontre un problème bizarre avec l'upload d'un fichier en utilisant l'API form.

Voici mon code :

function Formulaire(){
    $form = array();
    $form['#attributes'] = array('enctype' => 'multipart/form-data');
    $form['image1'] = array(
            '#type' => 'file',
            '#title' => t('Image 1'),
          );
    $form['submit'] = array(
              '#value' => t('Submit'),
              '#type' => 'submit',
          );
    $form['#submit'][] = 'image1_submit';
  return $form;
}

print_r(drupal_render(drupal_get_form('Formulaire')));

function image1_submit($form ,&$form_state){
     $save = file_save_upload('image1', $validators = array(), file_directory_path());
}

Quand j’exécute ce code avec une image je tombe sur une page blanche et le fichier n'est pas uploader.

Version de Drupal : 

Résolut avec le code suivant :

function image1_submit($form ,&$form_state){
        $save = file_save_upload('image1', $validators = array());
        if($save) {
                $save = file_move($save, 'public://', FILE_EXISTS_RENAME);
                if($save) {
                  drupal_set_message('Le fichier: <strong>"' . $save->filename . '"</strong> est bien sur le serveur');
                }
            }
  }