在drupal 7中上传文件时出错

时间:2013-10-30 12:14:20

标签: file-upload drupal-7

我刚刚开始学习Drupal 7,并希望使用自定义表单上传文件。但是当我上传文件时,它会产生以下错误。 enter image description here

这是我的代码。

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.'));
     }
}

我不知道我犯错了!!!

1 个答案:

答案 0 :(得分:1)

如果你看一下Drupal 7 APIfile_save_upload()的定义,那么该函数返回的'file'对象似乎没有'filepath'成员。您可能希望尝试使用$file_content = file_get_contents(file_create_url($file->uri));之类的内容。