Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
文件上传问题在drupal中,所有文件都提交到/tmp,而不是指定位置_Drupal_Drupal 6 - Fatal编程技术网

文件上传问题在drupal中,所有文件都提交到/tmp,而不是指定位置

文件上传问题在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/

下面是我用来上传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/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中。