含有中文路径的视频在线播放处理

访问含有中文路径的视频,一般都是进行urlencode访问。

但是在实际项目中出现访问 urlencode中文路径 返回403的情况。

这个时候需要urlencode2次,就可以解决。


<?php echo urlencode(urlencode($rs2['nurl']));?>

此方法在apache服务器测试通过。

=================
2014-01-13 更新
实际情况中可能文件夹也是中文的,直接2次urlencode后访问会出现404的错误,访问不了资源。
经测试,应该是 ”/“也被转义的原因。

所以需要处理下整个url。代码如下:


function pUrl($url){
$urlinfo = parse_url($url);
$pathArray = explode("/",$urlinfo['path']);
foreach($pathArray as $key=>$value){
    $pathArray[$key] = urlencode(urlencode($value));
}
$urlinfo['path'] = implode("/",$pathArray);
return $urlinfo['scheme'].'://'.$urlinfo['host'].$urlinfo['path'];
}

你可能感兴趣的:(urlencode,403,中文路径)