> 백엔드 개발 > PHP 튜토리얼 > php的函数file()的用法,该如何解决

php的函数file()的用法,该如何解决

WBOY
풀어 주다: 2016-06-13 10:13:46
원래의
871명이 탐색했습니다.

php的函数file()的用法
  $fp=fopen("交响乐.txt","rb+");
  fseek($fp,0);
  while($fp){
  echo fgets($fp);echo "
";
  }
  echo "


";
   
  $readarray=file("经典时尚语录.txt");
  if(!$readarray){
  echo "用file函数读取文件失败
";
  }
  else file_put_contents("语录.txt",$readarray);  
  echo "
";
  fclose($fp);
?>
上述代码中为什么不能实现将同一目录下的文件"经典时尚语录.txt"的数据写到文件"语录.txt"(新创建的)中去?

我不解也?请各位指点,不胜感激!

------解决方案--------------------
$fp=fopen("交响乐.txt","rb+");
fseek($fp,0);
while( feof($fp) ){ 
echo fgets($fp);echo "
";
}

fgets()只取文件中 一行 内容。取哪行,由文件内部指针确定。fgets每取一行内容,指针向前一行。
feof()用于检测指针是否已经到底,即文件最末尾。
而你用$fp,它的值并不会变化,因此会陷入死循环

===========
$readarray=file("经典时尚语录.txt");
if(!$readarray){
echo "用file函数读取文件失败
";
}
else file_put_contents("语录.txt",$readarray);
echo "
";
fclose($fp);

file()函数的返回值是数组类型。而file_put_contents()接受的类型是字符串,因此,写入的的$readarray会被强制类型转换为字符串类型,也就是'Array'
参考:http://www.php.net/manual/zh/ref.filesystem.php
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿