getimagesize不适用于包含拉丁/特殊字符PHP RHEL的文件

时间:2012-10-04 22:35:45

标签: php html linux rhel html2pdf

我们有一组2500左右的图像存储在本地RHEL 6.2服务器中。我们还有一个MySQL DB,其中包含这些文件的所有名称。

问题是,当我们调用html2pdf从PHP生成的HTML创建PDF时,每当它加载带有特殊字符的图像时,例如áéíóúÉÉÓÓÚñÑ,脚本就会抛出错误,因为文件无法读取(因为特殊字符,不是因为权限)。

所以问题是:

MySQL本身返回的文件名为“imágen100023884otoño.jpg”,文件存储在RHEL中,名称相同。

你如何告诉getimagesize()它应该按原样读取文件名?

我尝试了fopen但它也不起作用,即使我rawurlencode它抛出的文件名也无法加载文件错误。 (“allow_url_fopen”已启用)

其他所有内容都适用于没有特殊字符的文件。

希望我能说清楚。

谢谢!

1 个答案:

答案 0 :(得分:0)

我会尝试GetImageSize(realpath($path))。除此之外,你能用ImageCreateFromString(file_get_contents($path))打开图像吗?如果是这样,您就可以致电ImageS[XY]

另一种选择是将文件重命名为slug并相应地更新数据库。