问题与控制字符 – PHP不打印\ t(制表符)
我正在发送带有标题的XLS文件。 一切工作正常。 但是当我告诉它打印选项卡以分隔XLS中的单元格打印\t
。 它不打印选项卡。 它只是在文件中打印'\ t',当我下载XLS文件时,应该在不同单元格中的所有内容都在一个文本中,如下所示:
val1\tval2\tval3\t
这三个值应该在其单独的单元格中分开。 我一直在尝试2个小时,现在没有任何工作:(。
我发送这样的标题:
header("Content-type: application/octet-stream"); header("Content-Disposition: attachment; filename=".$filename.$fileextention); header("Pragma: no-cache"); header("Expires: 0");
只是打印值
echo $val1 . '\t' . $val2 . '\t' . $val3;
我曾尝试使用单一或双重quts。 和打印和回声都买仍然:(
试试这个(看引号)
header('Content-type: application/vnd.ms-excel'); echo "val1\tval2\tval3";
我很确定引号引起了这个问题。
echo $val1 . "\t" . $val2 . "\t" . $val3;
应该做的事情。 只要看看这个:
<?php echo 'Test\tTest'; echo "\r\n"; echo "Test\tTest"; echo "\r\n";
其输出:
Test\tTest Test Test
当你需要控制字符时使用双引号。 希望这可以解决你的问题。
使用双引号:“\ t”。 在单引号内只有\\
和\'
被识别。
这应该工作:
echo $val1 . "\t" . $val2 . "\t" . $val3;
如果没有,这是PHP中的一个错误。