PHP:file_get_contents字符串结果查询

WBOY
풀어 주다: 2016-06-06 20:47:56
원래의
1158명이 탐색했습니다.

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
관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿