以下是我用来上传的代码(drupal 6)
echo "DIR".$dir = drupal_get_path('module', 'modulename') . '/files';
if($docfile = file_save_upload('document',$dir))
echo "success:".$docfile->filepath;
它显示输出成功:/tmp/Winter_0.jpg我看到文件上传到/ tmp文件夹而不是我的modulename / files文件夹。任何人都可以帮我解决这个问题。
答案 0 :(得分:0)
您使用错误的参数调用file_save_upload。有关相关信息,请参阅file_save_upload API docs。
答案 1 :(得分:0)
如果我正确理解了语法,那么下面的工作就是:
echo "DIR".$dir = drupal_get_path('module', 'modulename') . '/files';
if($docfile = file_save_upload('document', null, $dir))
echo "success:".$docfile->filepath;
另一种可能性是你需要告诉Drupal该文件不是临时文件。
file_set_status($file, FILE_STATUS_PERMANENT);
编辑:
只需使用wimvds提供的链接,阅读文档,并测试正确的语法是什么。也许您保存文件的目录是错误的?尝试/ sites / all / files或/ sites / default / files而不是试图把它放到apache可能甚至没有读/写权限的模块文件夹中,至少我不确定Drupal是否允许我们在那里存储文件。
阅读API的另一个方法是让我尝试file_save_upload($yourfile, array(), $destination_directory, FILE_EXISTS_REPLACE);