【问题标题】:drupal 7- moving and displaying uploaded image in custom moduledrupal 7-在自定义模块中移动和显示上传的图像
【发布时间】:2012-10-16 10:58:28
【问题描述】:

我正在开发一个我想要的自定义模块:

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

【问题讨论】:

    标签: php content-management-system drupal-7 drupal-modules


    【解决方案1】:

    我已设法显示图像,但仍无法将图像移动到任何文件夹,因此将它们放置在默认的“public://”目录中。在没有 ajax 的同一页面上显示图像在这里讨论:Drupal 7 FAPI- Adding form elements in validate or submit handlers 和在这里讨论 ajax:Drupal 7 FAPI - ajax image preview

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      相关资源
      最近更新 更多