使用php在文件中写入特殊字符

时间:2013-01-01 05:42:22

标签: php file

我正在使用php写一个.txt文件。当我用一些特殊的字符创建它时,它会显示Ascii代码。就像我写一个字符串“我不知道”它表示“我不知道”。如何将其编写为人类可更新格式?

代码在

之下
function WriteErrorLog($IntegrationId, $errorStr){
    // get integration name--------


    $integrationnameQuery = "select * from integration where IntegrationId = $IntegrationId";
    $queryRes = mysql_query($integrationnameQuery);
    $resRows = mysql_fetch_array($queryRes);
    $integrationName = $resRows['Name'];
    if(!file_exists('errors/'.$IntegrationId.'/'.date("Y.m.d").'_ErrorFile.txt')){
        $errorFile = 'errors/'.$IntegrationId.'/'.date("Y.m.d").'_ErrorFile.txt';
        $fh = fopen($errorFile, 'w') or die("can't open file");
        fwrite($fh, 'Integration Name: '.$integrationName."\r\n\r\n".date('Y-m-d H:i:s').': '.$errorStr."\r\n\r\n");
        fclose($fh);
    }else{
        $errorFile = 'errors/'.$IntegrationId.'/'.date("Y.m.d").'_ErrorFile.txt';
        $fh = fopen($errorFile, 'a+') or die("can't open file");
        fwrite($fh, date('Y-m-d H:i:s').': '.$errorStr."\r\n\r\n");
        fclose($fh);
    }
}

function CreateErrorLog($IntegrationId, $errorStr){
    if (!is_dir('./errors/'.$IntegrationId)) {
        mkdir('./errors/'.$IntegrationId);
        WriteErrorLog($IntegrationId, $errorStr);
    }else{
        WriteErrorLog($IntegrationId,  $errorStr);
    }
}

我正在访问如下

CreateErrorLog('120', 'I don`t know');

2 个答案:

答案 0 :(得分:1)

您可以通过特殊代码编写特殊字符:例如\ n是0x0A

或者您可以使用函数chr(​​)将ASCII码转换为字符。

或者你可以在(f | s)printf函数中使用%c。 printf("There is zero:%c", 0x30);

答案 1 :(得分:0)

如果您的代码中有htmlspecialcharshtmlentities,请将其删除。