2012-05-19 75 views
2

我使用imagejpeg()將調整大小的圖像保存到文件中,文件名可以包含非拉丁字符,問題是它會用一些奇怪的字符弄亂文件名。imagejpeg()使用Unicode字符的問題

任何想法如何解決這個問題?如果不是如何返回imagejpeg()的內容而不是保存或打印它,那麼我可以使用fwrite()來代替?

P.S.同樣的事情也發生在imagepng()imagegif()之間。

+0

你需要在文件名中的非拉丁字符的任何具體的原因是什麼? –

回答

1

雖然我會建議在文件名中不使用非拉丁字符,但您可以使用輸出緩衝來捕獲imagejpeg的輸出並將其存儲在一個變量中。如果fwrite確實接受您的文件名,您可以使用它將變量寫入文件。

喜歡的東西:

ob_start(); 
imagejpeg($your_image); 
$your_image_variable = ob_get_contents(); 
ob_end_clean();