Чтобы избежать этой проблемы, используйте nextLine();
сразу после nextInt();
, поскольку это помогает очистить буфер. Когда вы нажимаете ENTER
, nextInt();
не захватывает новую строку и, следовательно, позже пропускает код Scanner
.
Scanner scanner = new Scanner(System.in);
int option = scanner.nextInt();
scanner.nextLine(); //clearing the buffer
Пределы загрузки - это функция безопасности. Без них программа-изгои или злоумышленник могут доставлять ваш сервер непрерывным потоком данных до тех пор, пока ваш жесткий диск не будет заполнен, что сделает весь сервер непригодным.
С точки зрения безопасности это не особенно полезно для ограничьте данные исходящими и, насколько я знаю, ни библиотека Curl, ни PHP не накладывают никаких ограничений.
Ваши симптомы указывают на то, что проблема возникает на целевом сервере. Поскольку у вас есть доступ к нему (вы называете получение пустого $_POST
), я предлагаю вам проверить пределы загрузки. Это то, что вы можете делать (и часто меняться) самостоятельно, вам не нужно спрашивать администратора сервера. Основные задействованные директивы включают в себя:
Вы можете проверить их с помощью phpinfo()
или ini_get()
, и вы можете изменить их обычным способом .