文件上传问题在drupal中,所有文件都提交到/tmp,而不是指定位置
下面是我用来上传Drupal6的代码文件上传问题在drupal中,所有文件都提交到/tmp,而不是指定位置,drupal,drupal-6,Drupal,Drupal 6,下面是我用来上传Drupal6的代码 echo "DIR".$dir = drupal_get_path('module', 'modulename') . '/files'; if($docfile = file_save_upload('document',$dir)) echo "success:".$docfile->filepath; 它将输出显示为success:/tmp/Winter_0.jpg,我看到的是上载到/tmp文件夹的文件,而不是我的modulename/
echo "DIR".$dir = drupal_get_path('module', 'modulename') . '/files';
if($docfile = file_save_upload('document',$dir))
echo "success:".$docfile->filepath;
它将输出显示为success:/tmp/Winter_0.jpg,我看到的是上载到/tmp文件夹的文件,而不是我的modulename/files文件夹。有人能帮我解决这个问题吗。你用错误的参数调用file\u save\u upload。请参阅以获取相关信息。如果我正确理解了语法,则以下操作可能有效:
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\u save\u upload$yourfile,array,$destination\u directory,file\u EXISTS\u REPLACE 如果$docfile=file\u save\u upload'document',null,$dir{file\u set\u status$docfile,file\u status\u PERMANENT;echo success.$docfile->filename;}我如上所述更新了代码,这次我得到一个错误作为警告:move\u upload\u file[function.move upload file]:第615行/includes/file.inc中的filename不能为空。警告:移动上传的文件[函数.移动上传的文件]:无法将“/tmp/phpSPsHso”移动到第615行的/includes/file.inc中。