0

我正在开发一个自定义模块,我想在其中:

  1. 通过表单上传图片。
  2. 将图像从默认文件夹移动到我想要的文件夹。
  3. 最后在相同的表单下显示图像(在提交按钮下方)。

我已经通过实现 hook_menu 和 hook_form 实现了第一个目标,但是在过去的 3 天里,我在剩下的两个目标中陷入了非常严重的困境。每当我尝试从默认文件夹移动上传的图像时,我都会收到“位置无效”的错误消息,第三点我不明白该怎么做?我希望当用户选择图像并提交表单时,图像显示在提交按钮下的同一页面上。任何帮助将非常感激。这是我的代码:-

function create_ad_form($form, &$form_submit)
{
   ...

   $form['image_file'] = array(
     '#title' => t('Upload Banner:'),
     '#type' => 'file'
   );

   $form['#attributes']['enctype'] = 'multipart/form-data';

   ...
}

function create_ad_form_submit($form, &$form_state)
{
    $module=drupal_get_path('module', 'create_ad');
    $validators = array();

    $file = file_save_upload('image_file', $validators,"public://",FILE_EXISTS_RENAME);

     if ($file)
 {
    $file->status=FILE_STATUS_PERMANENT;
    file_save($file);

    $result = file_unmanaged_copy($file, $module, FILE_EXISTS_RENAME);
    if ($result == 1)
    {


    }
    else
    {
      drupal_set_message('Couldn\'t copy file: '.$file->name);
    }
  }
  else
  {
    form_set_error('create_ad', t("Failed to save the file."));
  }
}
4

1 回答 1

0

我已经设法显示图像,但仍然无法将图像移动到任何文件夹,因此将它们放在默认的“public://”目录中。此处讨论了在没有 ajax 的情况下在同一页面上显示图像:Drupal 7 FAPI-在验证或提交处理程序中添加表单元素 以及此处讨论的 ajax:Drupal 7 FAPI - ajax 图像预览

于 2012-10-30T06:25:14.880 回答