Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 发布上载名称包含撇号的文件_Php_File - Fatal编程技术网

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

Php 发布上载名称包含撇号的文件,php,file,Php,File,尝试上载名称包含撇号的文件时 例如“123'456.jpg” 服务器返回此错误: 内部服务器错误 服务器遇到内部错误或配置错误,无法完成>您的请求 请联系网站管理员@****.com上的服务器管理员,通知他们发生此错误的时间>以及您在发生此错误之前执行的操作 有关此错误的详细信息,请参阅服务器错误日志 此外,尝试使用ErrorDocument>处理请求时遇到404 Not Found错误 我使用的名称为“test.PHP”的PHP文件(其中没有PHP代码): 我如何解决这个问题 PS:此问题

尝试上载名称包含撇号的文件时 例如“123'456.jpg”

服务器返回此错误:

内部服务器错误

服务器遇到内部错误或配置错误,无法完成>您的请求

请联系网站管理员@****.com上的服务器管理员,通知他们发生此错误的时间>以及您在发生此错误之前执行的操作

有关此错误的详细信息,请参阅服务器错误日志

此外,尝试使用ErrorDocument>处理请求时遇到404 Not Found错误

我使用的名称为“test.PHP”的PHP文件(其中没有PHP代码):


我如何解决这个问题

PS:此问题仅出现在web主机服务器上,但 不会出现在我的本地主机服务器(xampp)上。

您的主机/服务器已激活“mod_security”(修改安全性),
默认情况下将阻止该文件。


请尝试联系他们以禁用此功能。

我也遇到类似问题。我使用了一个函数来验证输入,它为我纠正了它

我用过:

function validateInput($data) {
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
    return $data;   
}
然后使用:

$file_name = validateInput($_FILES['file']);
我希望这对你有用:)

还刚刚注意到:

在这里:



=名称之间有一个空格

我只看到html部分。。。其中是处理表单(并复制文件)的php部分。错误日志怎么说?对包含名称的变量进行转义。@giorgio没有php代码,它是空的。这个错误没有PHP代码(在它到达PHP代码之前),请在editI加上它(有人投了反对票)后查看我的答案,因为我认为这是一个非常可能的问题。但是:poster,请从apache错误日志中检索错误,这应该会给你答案。对我来说,禁用mod_security之类的东西不是个好主意?!即使我没有尝试查看它是否工作,然后不上传带撇号的文件,甚至没有到达PHP代码。错误在PHP代码开始之前出现。正确,在向您发布答案之前,最好先了解所有事实,这会让我的答案现在看起来很愚蠢:/-您的服务器上打开了PHP吗?尝试更改您的html表单以获得“而不是因为名字中的‘因为’会导致它结束那句话。还有,你是否因为最初没有提供足够的信息而否决了我,从而得到了错误的回答?”?糟糕的形式,尤其是当我试图帮助你的时候。我按照你说的做了HTML,但什么也没发生。我不是那个投票反对你的人,我不能投票反对我是新来的user@user3398690你说HTML什么都没发生是什么意思?你拿出了所有的PHP并检查了页面?然后什么都没装?对吗?
$file_name = validateInput($_FILES['file']);
<input  type='file' name ='file' />