Php Drupal中的匿名文件上传?
有人知道我如何让匿名用户(基本上我网站的所有访问者都是匿名的,因为我不处理用户注册)在我的Drupal 7网站上上传文件(.docx)吗?我是否需要一个特殊的Drupal模块(找不到)或一个PHP黑客…您可以编写一个带有块的自定义模块。该块使用FormAPI使用文件上载程序呈现表单。 提交表单时(由匿名用户或authenitcated提交),可以将文件保存在公共文件系统中。下面是一个表单代码的示例:Php Drupal中的匿名文件上传?,php,drupal,content-management-system,Php,Drupal,Content Management System,有人知道我如何让匿名用户(基本上我网站的所有访问者都是匿名的,因为我不处理用户注册)在我的Drupal 7网站上上传文件(.docx)吗?我是否需要一个特殊的Drupal模块(找不到)或一个PHP黑客…您可以编写一个带有块的自定义模块。该块使用FormAPI使用文件上载程序呈现表单。 提交表单时(由匿名用户或authenitcated提交),可以将文件保存在公共文件系统中。下面是一个表单代码的示例: function mymodule_some_form($form, &$form_st
function mymodule_some_form($form, &$form_state) {
$form['some_file'] = array(
'#type' => 'managed_file',
'#title' => t('A File'),
'#default_value' => variable_get('some_file'),
'#upload_location' => 'public://',
);
return $form;
}
提交表单时,保存文件:
function mymodule_some_form_submit($form, &$form_state) {
$values = $form_state['values'];
// Save the uploaded file
if (isset($values['some_file']) && $values['some_file']) {
// Do the below to make it permanent otherwise
// the file will get deleted when cron runs
$file = file_load($values['healthcheck_image']);
file_usage_add((object)$file, 'mymodule', 'mymodule', 1);
if (!$file->status) {
$file->status = FILE_STATUS_PERMANENT;
}
file_save($file);
// Save file id to variables
variable_set('some_file', $file->fid);
}
}
我不太精通Drupal开发。谢谢你的代码,但是有一个易于使用的模块吗?我听说WebForm模块支持文件附件。不管怎样,任何帮助都将不胜感激……没关系!是的,webform模块可以满足您的需要。下载并启用该模块,然后创建webform节点。完成后,您可以单击新创建节点上的“webform”选项卡添加“file”组件。这将允许用户上传文件。如果你还有问题,请告诉我!