我正在尝试从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);
答案 0 :(得分:1)
务!我希望这会对某人有所帮助 我纠正了代码abowe中的3行:
//$document->revision_id = $revision->id;
//$document->save();
$destination = clean_path($upload_file->get_upload_path($revision->id));