2013-12-17 3 views
-1

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(); 
+0

var_dump (ini_get ('post_max_size')); 한계가 너무 낮 으면 한도를 높이는 것이 좋습니다. 자세한 내용은 [문서] (http://www.php.net/manual/en/ini.core.php#ini.post-max-size)를 참조하십시오. –

+0

mssql 데이터베이스에서 문자열을 가져올 때 같은 종류의 문제가 발생했습니다. 문자열이 깨졌습니다. 문자열을 두 부분으로 나눠서 프런트 엔드에서 연결을 수행했습니다. –

답변

0

당신은 아마 게시물에 대한 허용 크기를 변경해야합니다.

두 곳 중 하나에서 글의 최대 크기를 늘릴 수 있습니다.

php.ini의

post_max_size=XXXM 
upload_max_filesize=XXXM 

또는 htaccess로

php_value post_max_size XXXM 
php_value upload_max_filesize XXXM 

Docs

+0

또는'ini_set()'? – asprin

+0

@asprin'ini_set()'은 스크립트의 수명 동안 만 변경합니다. 이것은 반복 될 가능성이 높기 때문에 영구적으로 설정할 수도 있습니다. – Ryan

+0

그건 사실이야 .... – asprin

0
당신이 리눅스

php_value post_max_size 10M 
를 사용하는 경우

당신은 당신의 .htaccess 파일의 최대 포스트 크기를 설정할 수 있습니다

또는 .ini 파일에서 .windows를 사용하는 경우

php_value post_max_size=10M 
+0

내가 아는 한, 당신은이 OS들 중 하나에서 이것들 중 하나를 할 수있다. – Ryan

+0

WTF 당신은 @ Stanyer에 대해 이야기하고 있습니까 ?????? – user65439

+0

내 의견이 완벽하게 받아 들여 졌음을 확신합니다 ... 왜 htaccess 파일을 Linux 용으로 사용해야하고 ini 파일을 Windows 용으로 사용해야하는지에 대해 자세히 설명해 주시겠습니까? – Ryan

관련 문제