PHP - 受文件名长度影响的文件上载

时间:2014-07-14 11:01:22

标签: php pdf

我似乎遇到了关于上传PDF的问题,而且从我的测试来看,它似乎是一个文件名长度问题?

示例PDF文件大小为24KB。

如果我尝试使用这样的文件名上传PDF - 一个SHAK价格列表杰克的Paint01042014.pdf - 我在服务器错误日志中没有任何内容服务器错误。

如果我上传相同的PDF文件名为 - A SHAK Pricelist.pdf - 上传就没问题了。

上传成功后,文件名将更改为唯一的10位数代码。

我怀疑原始的PDF文件名长度确实是原因,但可能是吗?感谢

我的PHP配置

file_uploads - On
max_execution_time - 600
max_input_time - 60
memory_limit - 256M
register_globals - Off
upload_max_filesize - 32M

2 个答案:

答案 0 :(得分:2)

如果没有实际测试,我怀疑撇号可能会导致问题。再次尝试文件名的整个长度,但没有撇号。如果是这种情况,您可能希望对文件名进行编码。 A SHAK Price List Jacks Paint01042014.pdf

答案 1 :(得分:1)

在将addslashes(your_filename)上传到服务器之前添加{{1}},它会在特殊字符之前自动添加\,这会导致字符串中断。 希望这有帮助:)