我在php中有这个功能:
foreach($rss->channel->item as $item) {
/* Poster */
if (!file_exists('./img/'.$item->orignaziv.' ('.$item->godina.').jpg')) {
$remote_file = $item->plakat;
$new_width = 117;
$new_height = 168;
list($width, $height) = getimagesize($remote_file);
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($remote_file);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
header('Content-Type: image/jpeg');
imagejpeg($image_p, './img/'.ucfirst($item->orignaziv).' ('.$item->godina.').jpg', 100);
imagedestroy($image_p);
}
如果海报名称是例如:
Poster's Name
当照片保存到我的硬盘时我得到了:
Poster’s Name
如何使用'?
将字符编码显示为原始图片文件名答案 0 :(得分:0)
我通过转换特殊字符来解决这个问题。进入html权限然后字符串替换为none以便删除...我知道我应该使用更简单和干净的代码,如preg_replace_all删除所有非标准字符,但这有效......
$item->orignaziv = str_replace('’', '', mb_convert_encoding($item->orignaziv, 'HTML-ENTITIES', "UTF-8"));
这样,如果我把''它被删除所有特殊字符,但如果我把' \''它得到文件名'在名称中这一切都有效。