Php 为什么file_get_contents()没有从CSV文件读取某些数据

Php 为什么file_get_contents()没有从CSV文件读取某些数据,php,Php,我有一个PHPV5.6脚本,它读取一个上传的CSV文件,其中包含几行和几列纯文本,其中一个单元格包含JavaScript代码。这是我在执行cat test.csv时从Ubuntu18.04 bash shell中获得的输出 First Name,Last Name Jane,Doe John,<script>alert(‘test’);</script> 我阅读了PHP手册中关于file\u get\u contents(),但是没有提到在从()读取的文件中不允许使用标

我有一个PHPV5.6脚本,它读取一个上传的CSV文件,其中包含几行和几列纯文本,其中一个单元格包含JavaScript代码。这是我在执行
cat test.csv
时从Ubuntu18.04 bash shell中获得的输出

First Name,Last Name
Jane,Doe
John,<script>alert(‘test’);</script>
我阅读了PHP手册中关于
file\u get\u contents()
,但是没有提到在从()读取的文件中不允许使用标记。有一个选项可以使用
上下文
,但我不认为有任何选项可以解决这个问题


可能是一个
php.ini
设置…?:/

如果要在浏览器中查看结果,则应将内容输出为纯文本,并使用适当的字符集,因为
test
(或
Yikes
)周围的引号不是ASCII字符

header('Content-Type: text/plain; charset=gb18030');
var_dump($contents2);

我认为这是代码之外的东西导致了你的问题。您应该发布整个相关代码,以便我们能够准确地看到您是如何使用它的。@johncode我编辑了我的问题,以包含更多相关的代码。
但没有提到文件中不允许使用标记。
允许使用标记,但如果您回显它们,
警报('test')到HTML页面,它们将成为源代码的一部分。。。你不会看到的。尝试
htmlentities($contents2)
而不是
var\u dump($contents2)
,也不要使用自己的
fgetcsv
函数,PHP有一些非常适合读取CSV文件的功能。@ArtisticPhoenix谢谢!你的评论解决了问题。此外,增加我困惑的一个相关问题是,回音JS在显示的网页的
[F12]
中产生JS语法错误,因为撇号是
非ASCII U+2018
(')和
非ASCII U+2019
('),而不是
ASCII U+27
('),即
警报('test')而不是
警报(“测试”).kool,很高兴我能帮上忙
header('Content-Type: text/plain; charset=gb18030');
var_dump($contents2);