Добрый день! Появилась потребность перенести некоторые функции xrm на веб. Была создана веб форма для загрузки файлов сначала на веб сервер а потом вставки его в блоб поле детали файлы в договоре. Появилась проблема что в php запрос строиться в виде текстовой переменной и когда туда вставялешь прочитанный Бинарный файл.
Вот кусок кода может кто сталкивался помогите.

function insert_file_contract($FilePath,$filename,$contract_id){
    /*$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);
}

Нравится

2 комментария

Запись в BLOB-поля производится с помощью специальных функций.
Например, здесь в рамках Террасофта можно реализовать поставленную задачу через потоки.
Так как у Вас веб-форма, то нужно использовать соответствующие функции работы с BLOB. Напрямую через запрос у Вас не получится.
Данный вопрос выходит за рамки Террасофта, а более касается особенностей работы с большими объемами данных посредством php

Стоян Виталий, Terrasoft Support Team

Спасибо решил вопрос с помощью хранимой процедуры и функций вызова хранимок в php

Показать все комментарии