Задать вопрос
taral
@taral
php программист

Интеграция 1С. Отдает обрезанный файл

Делаю интеграцию с 1С.
Вот пример упрощенного кода
        $type=$_GET['type'];
        $mode=$_GET['mode'];

        if($mode=='init') {
            echo "zip=no\n";
            echo "file_limit=2000";
            exit;
        }

        if($mode=='checkauth') {
            // проверку на логин пароль убрал
            echo "success\n";
            echo session_name()."\n";
            echo session_id() ."\n";
            exit;
        }

       if($type=='catalog' && $mode=='file') {
            $content=file_get_contents('php://input');
            // и вот тут проблема описание выше
       }

       if($type=='sale' && $mode=='query') {
            // не существенно
        }

       if($type=='sale' && $mode=='file') {
            // не существенно
            echo 'success';
            exit;
       }


И когда получаю данные что передает 1с через file_get_contents('php://input'); текст файла обрезан.
  • Вопрос задан
  • 3714 просмотров
Подписаться 3 Оценить 2 комментария
Решения вопроса 1
alexhemp
@alexhemp
> echo «file_limit=2000»;

Попробуйте file_limit=0
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@kmm-design
Или можно вот так
$f = fopen($dir.$filename, 'ab');
fwrite($f, file_get_contents('php://input'));
fclose($f);

$xml = simplexml_load_file($dir.$filename);
Ответ написан
Тоже мучился с этой 1с =))

$files = file_get_contents('php://input');
			
			if(!empty($files)){

				file_put_contents('data/'.$filename, $files, FILE_APPEND);
				echo "success\n";
			
			}


Я реализовал вот таким способом =))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы