" move_uploaded_file"函数在SugarCRM逻辑钩子中不起作用

时间:2016-09-01 07:35:55

标签: php sugarcrm

我正在尝试使用SugarCRM的逻辑挂钩WebDriverWait wait = new WebDriverWait(driver, 15, 100) wait.until(ExpectedConditions.alertIsPresent()) after_save将上传的文件移至新位置。但我无法这样做。请找到我的逻辑钩子代码:

before_save

在这里,当我打印class attachment { public function attachment(&$bean, $event, $arguments) { if(!empty($bean->filename_new)) { $upload_dir = $GLOBALS['sugar_config']['upload_dir']; $target_file = $upload_dir . basename($_FILES["filename_new_file"]["name"]); if (move_uploaded_file($_FILES["filename_new_file"]["tmp_name"], $target_file)) { $GLOBALS['log']->fatal("The file has been uploaded"); } else { $GLOBALS['log']->fatal("Sorry, there was an error uploading your file."); } } } } 时,我得到了所需的输出:

$_FILES

现在我看过很多帖子,他们提到的解决办法是确保正确的文件权限和文件所有权。我试过了,但没有成功。

最后,为了消除文件权限或文件所有权问题的可能性,我制作了一个文件上传脚本并在CRM之外运行该脚本,那个时间Array ( [name] => twitter.png [type] => image/png [tmp_name] => /tmp/php5wBmgK [error] => 0 [size] => 203 ) 功能正常工作。

但是当我尝试使用逻辑钩子来实现相同的功能时,我无法获得所需的输出。请在这里指导我。

1 个答案:

答案 0 :(得分:0)

如果您使用 UNIX ,请同时检查权限 检查此文件Rootapp/include/upload_file.php您将获得与文件相关的不同功能。
我用它来复制文件 并且您想要更改文件保存的文件的位置,
如果您查看 config.php 文件,您会看到一行如下所示。

'upload_dir' => 'upload/',

复制我喜欢的文件,

 $bean->file_mime_type = $result->file_mime_type;
 $bean->filename = $result->filename;
 require_once('include/upload_file.php');
  $uploadFile = new UploadFile();
  $upoad_atachment =         
      $uploadFile->duplicate_file($result->id, $bean->id)

在保存后的逻辑挂钩中,当我收到附件的电子邮件时,我复制该附件并将该文件插入我的自定义模块。 每个图像都有一些id,上传的图像名称带有该ID,因此找到该ID,对于电子邮件,附件信息保存到注释模块中,在您的情况下,您可以在模块中找到。然后在结果中获取该信息并将其复制到其他模块中。