我正在开发一个我想要的自定义模块:
我通过实现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."));
}
}
答案 0 :(得分:0)
我已设法显示图像,但仍然无法将图像移动到任何文件夹,因此将它们放在默认的“public://”目录中。这里讨论了在没有ajax的情况下在同一页面上显示图像:Drupal 7 FAPI- Adding form elements in validate or submit handlers以及此处讨论的ajax:Drupal 7 FAPI - ajax image preview