用于还原wget下载的中文目录乱码的php脚本

王朝php·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

For Linux版:

#!/usr/local/bin/php

# Author: hutuworm

# Date: 20031115

<?php

function traveldir($dirname)

{

if($dirname[strlen($dirname)-1]!='/')

$dirname.='/';

$dirhandle=opendir($dirname);

while($file=readdir($dirhandle))

{

if($file=='.'||$file=='..')

continue;

if(is_dir($dirname.$file))

{

$newname=quoted_printable_decode(ereg_replace("%","=",$dirname.$file));

$realname='"'.$newname.'"';

$oldname='"'.$dirname.$file.'"';

if($oldname!=$realname)

system("mv $oldname $realname");

traveldir($newname.'/');

} else

continue;

}

closedir($dirhandle);

}

if(isset($argv[1]) && is_dir($argv[1]))

{

$targetdir=$argv[1];

traveldir($targetdir);

} else

echo "Usage: ./dirdecode.php /path/to/dir \n";

?>

For Windows版:

#!/usr/local/bin/php -a

# Author: hutuworm

# Date: 20031115

<?php

//遍历目录并还原中文目录名称

function traveldir($dirname)

{

if($dirname[strlen($dirname)-1]!='\\')

$dirname.='\\';

$dirhandle=opendir($dirname);

while($file=readdir($dirhandle))

{

if($file=='.'||$file=='..')

continue;

if(is_dir($dirname.$file))

{

$newname=quoted_printable_decode(ereg_replace("%","=",$file));

$oldname='"'.$dirname.$file.'"';

if($file!=$newname)

{

$realname='"'.$newname.'"';

system("ren $oldname $realname");

}

traveldir($dirname.$newname.'\\');

} else

continue;

}

closedir($dirhandle);

}

if(isset($argv[1]) && is_dir($argv[1]))

{

$targetdir=$argv[1];

traveldir($targetdir);

} else

echo "Usage: c:\php\php dirdecode.php \path\\to\dir \n";

?>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航