sugarCRM从脚本添加文档

时间:2013-08-14 19:53:21

标签: php sugarcrm

我正在尝试从PHP脚本向Sugar对象(客户端)添加Document。我有一个文件目录(在安装了sugarCRM的同一台服务器上)和xls with sugar objec ID和filename)。 PHP脚本应该为特定的糖对象添加正确的文件名(用ID标识)。我可以读取XLS这没问题,我也可以获取糖对象的实例(通过ID检索),但我不知道如何将文件分配给糖。我正在尝试使用Document和upload_file.php,但这些似乎可以用于使用html Form上传单个文件。

如何自动完成此任务,将文件名正确的文件复制到cache\upload并从PHP脚本创建与客户相关的文档?如果它不是必要的话,我宁愿不使用SOAP ......


编辑:

我能够保存文档和修订版,但出了点问题,无法从浏览器下载文件(“错误调用文件”)

到目前为止我的代码是:

  require_once('include/upload_file.php');

  $upload_file = new UploadFile('uploadfile');
  $document->filename = 'robots.txt';
  $document->document_name = 'robots.txt';

  $document->save();
  $contents = file_get_contents ($document->filename);

  $revision = new DocumentRevision;
  $revision->document_id = $document->id;
  $revision->file = base64_encode($contents);
  $revision->filename = $document->filename;
  $revision->revision = 1;
  $revision->doc_type = 'Sugar';
  $revision->file_mime_type = 'text/plain';

  $revision->save();

  $document->revision_id = $revision->id;
  $document->save();

  $destination = clean_path($upload_file->get_upload_path($document->id));

  $fp = sugar_fopen($destination, 'wb');

  if( !fwrite($fp, $contents) ){
      die("ERROR: can't save file to $destination");
  }

  fclose($fp);

1 个答案:

答案 0 :(得分:1)

务!我希望这会对某人有所帮助 我纠正了代码abowe中的3行:

  //$document->revision_id = $revision->id;
  //$document->save();

   $destination = clean_path($upload_file->get_upload_path($revision->id));