Home >Backend Development >PHP Problem >How to transcode a folder in php

How to transcode a folder in php

藏色散人
藏色散人Original
2021-12-13 10:35:001694browse

Method for php transcoding folder: 1. Create a PHP sample file; 2. Pass "function iconv_file($filename,$input_encoding='gbk',$output_encoding='utf-8'){.. .}" method to transcode.

How to transcode a folder in php

#The operating environment of this article: Windows 7 system, PHP version 7.4, Dell G3 computer.

How to transcode a folder in php?

The encoding implementation code of all files in the PHP conversion folder

The encoding of all files in the PHP conversion folder is suitable for publishing other encoding versions of the website. For example, if you have a GBK version, you want to If there is a UTF8 version or you only have the source code of GBK and you want to develop it again but you don’t want to change the IDE’s encoding method, you can use this program to batch convert it to UTF8:

The code is as follows:

<?php
/**
* 把一个文件夹里的文件全部转码 只能转一次 否则全部变乱码
* @param string $filename
*/
function iconv_file($filename,$input_encoding=&#39;gbk&#39;,$output_encoding=&#39;utf-8&#39;)
{
if(file_exists($filename))
{
if(is_dir($filename))
{
foreach (glob("$filename/*") as $key=>$value)
{
iconv_file($value);
}
}
else
{
$contents_before = file_get_contents($filename);
/*$encoding = mb_detect_encoding($contents_before,array(&#39;CP936&#39;,&#39;ASCII&#39;,&#39;GBK&#39;,&#39;GB2312&#39;,&#39;UTF-8&#39;));
echo $encoding;
if($encoding==&#39;UTF-8&#39;) mb_detect_encoding函数不工作
{
return;
}*/
$contents_after = iconv($input_encoding,$output_encoding,$contents_before);
file_put_contents($filename, $contents_after);
}
}
else
{
echo &#39;参数错误&#39;;
return false;
}
}
iconv_file(&#39;./test&#39;);
?>

Recommended learning: "PHP video tutorial"

The above is the detailed content of How to transcode a folder in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn