0

我刚开始学习 Drupal 7,想使用自定义表单上传文件。但是当我上传文件时,它会产生以下错误。 在此处输入图像描述

这是我的代码。

function custom_form_form($form,&$form_state) {
     $form = array();
         $form['photos'] = array(
         '#title' => t('Image'),
         '#type' => 'file',
         '#name' => 'files[photos]',
     );
     $form['submit'] = array(
          '#value' => 'Submit',
          '#type' => 'submit',
          '#name' => 'submit',
     );                                    
     $form['#submit'][] = 'custom_submit_function';
     return $form;
}

function custom_submit_function($form, &$form_state){

     $validators = array(
         'file_validate_extensions' => array('jpg png gif'),
     );
     //Save file
     $file_destination = "public://Photos/";
     $file = file_save_upload('photos', $validators, $file_destination,FILE_EXISTS_RENAME);
     if(isset($file->uri)){ //if you need this file to be not temporary
          $file->status = 1;
          file_save($file);
     }
     if ($file) {
          $file_content = file_get_contents($file->filepath);
          echo $file_content;
     }
     else{
         print_r(form_set_error('photos', 'Could not upload file.'));
     }
}

我不知道我在哪里犯错了!!!

4

1 回答 1

1

如果您查看Drupal 7 APIfile_save_upload()中的定义,似乎该函数返回的“文件”对象没有“文件路径”成员。您可能想尝试类似的东西。$file_content = file_get_contents(file_create_url($file->uri));

于 2013-10-30T19:24:47.207 回答