PHP文件上传无法在同一表单上发送POST数据
我有一个基本的用户名和密码的形式,它也允许你上传一个图像。 有一个创建按钮,它使用户uploader.php上传图像并输入用户名和密码到数据库中。
在表单标签中:
<form enctype =“multipart / form-data”method =“POST”action =“uploader.php?uploader = avatar&username = <?php echo $ _POST ['username'];?>”>
问题:
用户名不会发布,也不会发布任何其他帖子。 所有字段都在表单内。 我查过PHP文件上传表单无法提交POST变量? 并在php.ini中post_max_size = 8M,并且upload_max_filesize = 2M
使用<input type="hidden"/>
发布username
和其他信息。
<form enctype="multipart/form-data" method="POST" action="uploader.php">
<input type="hidden" name="uploader" value="avatar"/>
<input type="hidden" name="username" value="<?php echo $_POST['username']; ?>" />
...
</form>
Sample.php
<form enctype="multipart/form-data" method="POST" action="uploader.php">
<br/>Username : <input type="text" name="username"/>
<br/>Password : <input type="password" name="password"/>
<input type="hidden" name="uploader" value="avatar"/>
<br/>File : <input type="file" name="file"/>
<br/><input type="submit"/>
</form>
uploader.php
<?php
print_r($_POST) // debug $_POST
print_r($_FILES) // file
//OR
echo $_POST["username"];
$file=$_FILES["file"];
print_r(file);
?>
听起来你想提交用户名和密码并上传一个文件。
如果这是你想要的,你需要像下面这样的东西:
<form enctype="multipart/form-data" method="POST" action="uploader.php">
<input type="text" name="username" value="" />
<input type="password" name="password" value="" />
<input type="file" name="uploaded" />
...
</form>
用户名和密码将在$_POST[]
可用,并且该文件将出现在$_FILES[]
。
当我尝试上传的文件大于PHP正在接受的最大文件大小时,我遇到了这个问题。 看着:
ini_get('post_max_size')
和
ini_get('upload_max_filesize')
看看你的文件是否太大。 我的解决方案是使用空($ _ POST)来确定文件是否太大(或发生其他发布问题)并抛出异常。
链接地址: http://www.djcxy.com/p/74365.html