Maison  >  Article  >  développement back-end  >  Que faire si php parse_ini_string() est tronqué ?

Que faire si php parse_ini_string() est tronqué ?

藏色散人
藏色散人original
2022-11-10 09:18:271558parcourir

Solution aux caractères tronqués dans php parse_ini_string() : 1. Entrez le chemin du fichier ; 2. Faites correspondre la méthode d'encodage du fichier dans le tableau de méthodes d'encodage fourni ; $contents );" méthode pour convertir en encodage "UTF-8".

Que faire si php parse_ini_string() est tronqué ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur Dell G3.

php parse_ini_string() Que faire si le code est tronqué ?

L'utilisation de parse_ini_file pour lire des documents texte rencontre le problème des caractères chinois tronqués

1 Solution aux caractères chinois tronqués

$contents = file_get_contents("config.ini");
//输入文件路径
$encoding = mb_detect_encoding($contents, array('UTF-16', 'UTF-8', 'GBK','ASCII', 'SJIS', 'BIG-5'), true);
//在提供的编码方式数组中,匹配文件的编码方式
$rst = iconv($encoding, 'UTF-8', $contents);//转为"UTF-8"编码

2 Lire le contenu du fichier ligne par ligne

      $contents = file_get_contents($rstPath);//$rstPath-目标文件路径
        $encoding = mb_detect_encoding($contents, array('UTF-16', 'UTF-8', 'GBK','ASCII', 'SJIS', 'BIG-5'), true);
 
        $file_handle = fopen($rstPath, "r");
        while (!feof($file_handle)) 
        {
            $line = fgets($file_handle);
            if(empty($line)) continue;//当前行内容为空,进入下一循环
            $line = iconv($encoding, 'UTF-8', $line);
 
            //...业务逻辑
        }
        fclose($file_handle);

3. string Contenu

$inistr = file_get_contents($filepath);
$ini_items = parse_ini_string($inistr, true);

4. Le fichier de configuration config.ini contient du chinois

$iniPath = FCPATH . 'config.ini';
$iniContent = file_get_contents($iniPath);//读取配置文件
$encoding = mb_detect_encoding($iniContent, array('UTF-16', 'UTF-8', 'GBK', 'ASCII', 'SJIS', 'BIG-5'), true);//匹配编码方式
$iniContent = iconv($encoding, 'UTF-8', $iniContent);//转换编码方式
$iniContent = parse_ini_string($iniContent, true, INI_SCANNER_RAW);

Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn