尝试上传名称中包含撇号的文件时 例如'123'456.jpg'
服务器返回此错误:
内部服务器错误
服务器遇到内部错误或配置错误,无法完成>您的请求。
请通过webmaster@****.com与服务器管理员联系,告知他们发生此错误的时间>以及您在此错误发生之前执行的操作。
服务器错误日志中可能提供了有关此错误的更多信息。
此外,尝试使用ErrorDocument>处理请求时遇到404 Not Found错误。
我使用的'test.php'名称的PHP文件(其中没有PHP代码):
<?php
//no php code (error come before it reach the PHP code)
?>
<form class='panel file hide' method='post' action='/test.php' enctype='multipart/form-data'>
<input type='file' name ='file' />
<input type='submit' />
</form>
我该如何解决这个问题?
PS:此问题仅出现在Web主机服务器上,但是 剂量不会出现在我的localhost服务器(xampp)上。
答案 0 :(得分:0)
你托管/服务器有&#34; mod_security&#34;激活,
这将默认阻止文件。
尝试联系他们以禁用此功能。
答案 1 :(得分:-1)
我有类似的问题。我使用了一个函数来验证输入,并为我纠正了它。
我用过:
function validateInput($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
然后使用:
$file_name = validateInput($_FILES['file']);
我希望这适合你:)
也刚刚注意到:
这里:
<input type='file' name ='file' />
= 和名称之间有空格