Home >Backend Development >PHP Tutorial >PHP:file_get_contents字符串结果查询

PHP:file_get_contents字符串结果查询

WBOY
WBOYOriginal
2016-06-06 20:47:561187browse

1.txt的内容:

这是测试文件

PHP代码如下:

<code><?PHP //无法得出结果
    echo strpos(file_get_contents("1.txt"), "测试");
    //输出正确结果:6
    echo strpos("这是测试文件", "测试");
?>
</code>

以上代码执行的时候,并没有能成功找到"测试"在1.txt文件中的位置。

回复内容:

1.txt的内容:

这是测试文件

PHP代码如下:

<code><?PHP //无法得出结果
    echo strpos(file_get_contents("1.txt"), "测试");
    //输出正确结果:6
    echo strpos("这是测试文件", "测试");
?>
</code>

以上代码执行的时候,并没有能成功找到"测试"在1.txt文件中的位置。

一看到txt就知道是编码问题了,测试是在PHP文件中,所以是PHP文件的编码(应该是UTF-8),txt文件肯定是用默认的记事本造的,是GBK编码的了。

  1. 分解测试,先把file_get_contents("1.txt")的内容搞到一个变量里,看一下究竟是什么。
  2. getcwd()函数看一下你的PHP文件的工作目录。
    执行php脚本的工作目录,恐怕并不像你想象的那样,总是在php脚本同一个目录下的。
    最简单的,一行Shell命令就打破这个错误认知:/usr/bin/env php /some/other/dir/script.php
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