相关疑难解决方法(0)

如何优雅地处理超过PHP的`post_max_size`的文件?

我正在开发一个将文件附加到电子邮件的PHP表单,并试图优雅地处理上传文件太大的情况.

我了解到有两个设置php.ini会影响文件上传的最大大小:upload_max_filesizepost_max_size.

如果文件的大小超过upload_max_filesize,PHP将文件的大小返回为0.这很好; 我可以检查一下.

但如果超过post_max_size,我的脚本会无声地失败并返回到空白表单.

有没有办法抓住这个错误?

php upload

84
推荐指数
3
解决办法
4万
查看次数

PHP $ _POST不工作,但$ _GET工作正常

我正在尝试使用构建一个简单的登录系统<form method="post">.我的笔记本电脑上的MAMP一切正常,但是当我将脚本上传到服务器(Windows)时,它无效; 好像$ _POST数组是空的.

我评论了除了骨头之外的一切,但它仍然不起作用.

index.php文件:

<form id="login-form" method="POST" action="_scripts/check_login.php">
Email Address
<input name="login-email" type="text" id="login-email">
Password
<input name="login-password" type="text" id="login-password">
<input type="submit" name="Submit" id="login-button" value="Login">
</form>
Run Code Online (Sandbox Code Playgroud)

_scripts/check_login.php :(除了一些var_dump以外,我已删除了所有内容以进行调试)

var_dump($_POST);

$loginEmail = trim($_POST['login-email']);
echo '<br>';
$loginPassword = ($_POST['login-password']);
var_dump($loginEmail);
echo '<br>';
var_dump($loginPassword);
Run Code Online (Sandbox Code Playgroud)

当我提交表单时,无论我在文本字段中添加什么,我都会看到:

array(0) { }
string(0) ""
NULL
Run Code Online (Sandbox Code Playgroud)

如果我在上面两个文件中将"post"的所有实例更改为"get",一切正常.但我不想用get.(如果我使用method ="post"提交表单,则$ _REQUEST不起作用).

注意,这一切都可以在localhost上运行,但不能在服务器上运行(运行Windows.)所以这似乎是服务器的问题,但我不知道是什么.你可以在这里看到PHPInfo:http://brailleapps.org/phpinf0.php

有任何想法吗?

编辑:解决了!见下文.

php forms post

13
推荐指数
1
解决办法
2万
查看次数

PHP $ _POST无法正常工作?

我有最简单的形式,我想做的就是回复文本框中写的任何内容.

HTML:

<form action="" method="post">
  <input type="text" name="firstname">
  <input type="submit" name="submit" value="Submit">
</form>
Run Code Online (Sandbox Code Playgroud)

PHP:

if(isset($_POST['submit'])){
  $test = $_POST['firstname'];
  echo $test;
}
Run Code Online (Sandbox Code Playgroud)

问题是它不能在我的服务器上运行(它可以在另一台服务器上运行).有没有人知道什么可能是错的?服务器上还有其他表单,工作正常.

html php forms post

8
推荐指数
5
解决办法
10万
查看次数

标签 统计

php ×3

forms ×2

post ×2

html ×1

upload ×1