发布上传名称包含撇号的文件

时间:2014-04-29 11:39:43

标签: php file

尝试上传名称中包含撇号的文件时 例如'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)上。

2 个答案:

答案 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' /> 

= 名称之间有空格