3

Drupal ドキュメントのフォーム例 10 に従っています: http://api.drupal.org/api/examples/form_example!form_example.module/group/form_example/7

ここに私のフォームの定義があります:

function portal_upload_form($form, $form_state) {

    $form['file'] = array(
        '#type' => 'file',
        '#title' => t('Choose a file'),
    );

    $form['document_submit_button'] = array(

      '#type' => 'submit', 
      '#value' => t('upload'), 
    );

    return $form;
}

そして form_submit フック:

function portal_upload_form_submit($form, &$form_state) {

    $file = $form_state['values']['file'];
        // ...

777 パーミッションで入力ファイルを設定したにもかかわらず、$file は「空」です。私は何かが欠けていて、自分で何を見つけることができません...

ありがとう!J.

4

2 に答える 2

4

なぜフォームが file/url/... を提供しないのかという質問には答えませんが、アップロードの問題全体を解決します:

function portal_upload_form_submit($form, &$form_state) {

    $file = $form_state['values']['file'];

    $validators = array();
    $file = file_save_upload('file', $validators, 'public://');
于 2012-06-13T15:08:13.863 に答える
1

ここで考慮すべき他のいくつかの事項を次に示します。

  1. file_save_upload() は、コンテンツ タイプのデフォルト リストのみを検証します: jpg jpeg gif png txt doc xls pdf ppt pps odt ods odp

  2. 連想配列形式で最初の項目に名前を付けてください。'#name' => 'files[img_1]',

file_save_upload() documentation、私の2番目のポイントに関する情報については、最初のコメントを参照してください。

于 2013-03-17T14:02:07.907 に答える