PHP로 매우 큰 문자열 데이터를 보내고 싶습니다. 양식 제출을 사용하여 파일에 쓰고 싶습니다. PHP 컨텐트 폐기 헤더를 사용하여 다운로드하십시오. 그러나, PHP는 POST var은 완전한 문자열을지고 있지 않습니다. 또한 $ .post를 사용하면 PHP $ _ post는 완전한 문자열을받습니다. 하지만 PHP로 그 문자열을 자바 스크립트로 반환 $ .post를 사용하고 싶지 않아요.html 양식이 PHP로 큰 문자열을 제출하지 않습니다.
PHP 코드
$content = $_POST["filestring"];
$content = '<?xml version="1.0" encoding="UTF-8"?>'.$content;
$length = strlen($content);
header('Content-Description: File Transfer');
header('Content-Type: text/xml; charset=UTF-8');
header('Content-Disposition: attachment; filename='.$filename.'.' . $ext);
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . $length);
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Expires: 0');
header('Pragma: public');
echo $content;
exit;
자바 스크립트 코드 ----
var form = '<form id="xml_export_form" action="assets/plugins/vocera/fileHelper.php"
enctype="multipart/form-data" method="POST" target="_blank">
<input type="hidden" name="filestring" value="">
<input type="text" name="filetype" value = "xml">
<input type="text" name="filename" value = "'+fileName+'">
<input type="submit" value="Submit">
</form>';
$('#xml_export_form').find('input[name="filestring"]').first().val(xmlDocStr);
$('#xml_export_form').submit();
var_dump (ini_get ('post_max_size')); 한계가 너무 낮 으면 한도를 높이는 것이 좋습니다. 자세한 내용은 [문서] (http://www.php.net/manual/en/ini.core.php#ini.post-max-size)를 참조하십시오. –
mssql 데이터베이스에서 문자열을 가져올 때 같은 종류의 문제가 발생했습니다. 문자열이 깨졌습니다. 문자열을 두 부분으로 나눠서 프런트 엔드에서 연결을 수행했습니다. –