2

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

如何自动执行此任务,将具有正确文件名的文件复制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);
4

1 回答 1

1

作品!我希望这对我从上面的代码中纠正了 3 行的人有所帮助:

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

   $destination = clean_path($upload_file->get_upload_path($revision->id));
于 2013-08-15T06:53:20.877 回答