Добрый день! Появилась потребность перенести некоторые функции xrm на веб. Была создана веб форма для загрузки файлов сначала на веб сервер а потом вставки его в блоб поле детали файлы в договоре. Появилась проблема что в php запрос строиться в виде текстовой переменной и когда туда вставялешь прочитанный Бинарный файл.
Вот кусок кода может кто сталкивался помогите.
/*$fp = fopen($FilePath, 'r');
$FileData = fread($fp, filesize($FilePath));
$FileData = addslashes($FileData);
fclose($fp);
if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
}*/
$FileData = addslashes(fread(fopen($FilePath, "rb"), filesize($FilePath)));
///echo $FileData;
$itemtype_id = '39A5B367-4A7A-473E-8F74-26977CB6DB67';
$file_id = guid();
///echo $file_id;
$tsql = "insert into tbl_files(id,Link,FileData,ItemTypeID,DocumentType) values('".$file_id."','".$filename."','".iconv('UTF-8','cp1251',$FileData)."','".
$itemtype_id."',0)";
$result_files = mssql_query($tsql);
if ($result_files != null){
if (($contract_id !='')&&($contract_id != null)){
$filein_ivoice_sql = "insert into tbl_FileInContract (ID,FileID,ContractID) values(NEWID(),'".$file_id."','".$contract_id."')";
/////echo $filein_ivoice_sql;
$result_files_contract = mssql_query($filein_ivoice_sql);
}
}
unlink($FilePath);
}
Нравится
Запись в BLOB-поля производится с помощью специальных функций.
Например, здесь в рамках Террасофта можно реализовать поставленную задачу через потоки.
Так как у Вас веб-форма, то нужно использовать соответствующие функции работы с BLOB. Напрямую через запрос у Вас не получится.
Данный вопрос выходит за рамки Террасофта, а более касается особенностей работы с большими объемами данных посредством php
Стоян Виталий, Terrasoft Support Team
Спасибо решил вопрос с помощью хранимой процедуры и функций вызова хранимок в php