我有以下表格:
<form method="post" action="./action.php?a=create" enctype="multipart/form-data">
<input name="formType" type="hidden" value="file" required />
<input name="formParent" type="hidden" value="<?php echo $parentID; ?>" required />
<table class="fixed">
<tr>
<td>
<p>Display Name</p>
</td>
<td>
<input name="formName" type="text" placeholder="Enter File Name" autofocus autocomplete="off" required />
</td>
</tr>
<tr>
<td>
<p>Select a File</p>
</td>
<td>
<input name="formFile" type="file" placeholder="Select a File" required />
</td>
</tr>
<tr>
<td></td>
<td>
<button class="confirm btn-warning" type="submit">Submit</button>
</td>
</tr>
</table>
</form>
当我尝试将文件上传到我的服务器时,比如小于20MB,它完全正常。但是,当我尝试上传较大的文件(例如1GB)时,我的$_POST
数据未设置。
如何判断我的帖子数据未设置?
当使用此表单转到操作页面时,它会检查formType
设置的内容并相应地显示/运行。但是当我尝试上传一个更大的文件时,它表示$_POST['formType']
没有设置,虽然查看表单 - 显然是。
我的当前PHP.ini
配置具有以下不同的设置:upload_max_filesize = 5000M
和post_max_size = 5000M
我有一个web.config
文件,其中声明:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="2147483648" />
</requestFiltering>
</security>
<staticContent>
<mimeMap fileExtension=".zipx" mimeType="application/x-zipx-compressed" />
</staticContent>
</system.webServer>
<system.web>
<sessionState timeout="60" />
</system.web>
</configuration>
为什么在一段时间后丢失$_POST
数据,等待文件上传?是否可以更改表单上传超时?
编辑:
print_r($_POST)
返回Array ( )
答案 0 :(得分:0)
建议获取代码,并将其移至虚拟机。
如果您放置文件,请使用Apache配置LAMP堆栈 - 它是否按预期工作?
在Apache上进行测试可以帮助您验证PHP代码是否正常。
另外,根据评论,请访问http://www.linuxquestions.org/questions/linux-software-2/large-file-upload-%24_post-empty-in-php-281032/和Issues transfering data between PHP pages with POST,也许他们会帮助您。