如何在GD库中读取阿拉伯语文件名


How to read arabic filenames in GD library?

我遇到了阿拉伯语文件名的问题,例如,当有阿拉伯文件名的图像时,我无法从中生成缩略图,但是当文件为英文时,一切都很好。

我尝试了许多拇指生成器,但它们都有这个问题,经过一些搜索,这是GD库问题。

我找到了一种解决方案,在将图像重命名为一些随机的英文名称后将图像复制到新目的地,但这不是一个选项,因为它需要一些时间并且由于大量图像而使网站非常慢。

那么知道如何解决它并在阿拉伯语支持下生成拇指吗?

如果你可以创建一个副本,你可能可以用symlink()创建一个符号链接并从中读取。无需文件复制,完成后可以删除链接。

<?php 
$filename = "somefile.jpg";
$linkname="linkedfile.jpg";
if (symlink($filename, $linkname)) {
    if (($im = imagecreatefromjpeg($linkname)) === false) {
        echo "couldn't create GD image";
    } else {
    echo "GD Image created successfully.";
    }
} else {
    echo ("Couldn't create symlink");
}
?>

请注意,低于 Vista 或 Server 2008 的 Windows 版本不支持符号链接,因此这不是一个选项。