我正在开发一个自定义模块,我想在其中:
- 通过表单上传图片。
- 将图像从默认文件夹移动到我想要的文件夹。
- 最后在相同的表单下显示图像(在提交按钮下方)。
我已经通过实现 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."));
}
}