网站最早是放在UNIUX 空间里面,由于用户可以上传的图片有中文的图片,使用FTP 登录查看,也都是乱码。无法直接下载的WINDOWS 上来。首先是使用 ZIP 打包,在WINDOWS 平台上解压,这样文件名还是乱码的。
原来想用 IIS 7 rewrite 把原来用户上传的图片进行重定向到老的UNIUX 空间上面。是一种不错的解决方法。
后来经测试发现可以使用 PHP 读取图片文件,在输出的方式,这种方法没想到居然可以。。
reWrite 配置文件
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="one" stopProcessing="true">
<match url="^uploads/(.*)" />
<action type="Rewrite" url="Rewrite.php?url=/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Rewrite.php
<?php
/* WINDOWS UNIX 中文图片不存在解析方案 power:清如许 date:2011-10-26 */
$url = $_GET['url'];
if(file_exists("uploads/$url"))
{
echo echo_img("uploads/$url");
}
else
{
echo 'not exists';
}
/** 读取图片输出
*/
function echo_img($img)
{
$fileres = file_get_contents($img);
header('Content-type: image/jpeg');
echo $fileres;
}
?>
file_get_contents() 会对文件名进行 UTF-8 转换。所以图片就可以显示正确了。
- 上一篇:新网DNS又故障了 网站无法解析
- 下一篇:Ecshop 仿京东 自动DIY装机程序