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

    技术2022-05-11  126

    For Linux版:

    #!/usr/local/bin/php

    # Author: hutuworm # Date: 20031115

    <?phpfunction 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";

    ?>

     


    最新回复(0)