Перехват выгрузки из 1СОпределяем функцию, которая будет копировать файлы в собственную директорию function load1CExchangeToMyDir($catalogName = '1c_exchange_tmp',$fileSize = 0){ global $APPLICATION; if($APPLICATION->GetCurPage() == '/bitrix/admin/1c_exchange.php'){ if ( $_GET['mode'] == 'file' ) { $filename = preg_replace("#^(/tmp/|upload/1c/webdata)#", "", $_GET["filename"]); $filename = trim(str_replace("\\", "/", trim($filename)), "/"); $ABS_FILE_NAME = $_SERVER['DOCUMENT_ROOT'] . '/upload/' . $catalogName . '/' . $filename; $DATA = file_get_contents("php://input"); CheckDirPath($ABS_FILE_NAME); if ($fp = fopen($ABS_FILE_NAME, "ab")) $result = fwrite($fp, $DATA); if(fileSize > 0){ if (file_exists($ABS_FILE_NAME) && filesize($ABS_FILE_NAME) > $fileSize) unlink($ABS_FILE_NAME); } } } } При обмене приходящие файлы будут копироваться в директорию /upload/$catalogName/. $fileSize указываем, если нужно ограничить размер загружаемых файлов Сам вызов метода размещаем в событие пролога: AddEventHandler("main", "OnBeforeProlog", "OnBeforePrologHandler"); function OnBeforePrologHandler() { load1CExchangeToMyDir('1c_exchange_tmp'); } |
Список тегов:
Популярные темы:
Линчевали:
![]() ![]() ![]() ![]() |