이것은 코드입니다. 실수 한 부분을 알지 못합니다. 작은 따옴표로 시도했습니다. 나는 그것을 시도했지만 모든 항목이 한 줄로 나타납니다.개행이 PHP에서 작동하지 않습니다
$output_line=$item."\n";
fwrite($myfile,$output_line);
이것은 코드입니다. 실수 한 부분을 알지 못합니다. 작은 따옴표로 시도했습니다. 나는 그것을 시도했지만 모든 항목이 한 줄로 나타납니다.개행이 PHP에서 작동하지 않습니다
$output_line=$item."\n";
fwrite($myfile,$output_line);
사용 PHP_EOL
대신 \n
.
$output_line=$item . PHP_EOL ;
OP에서 $ item이 배열이라고 말하면 문자열 변환 오류로 배열을 만들어야합니다. – Andreas
그래, 그게 사실이야. 하지만 OP 대답 https://stackoverflow.com/a/47958569/7594961 작동하고있다 –
다른 운영 체제에 따라 다를 수 있습니다
$data = 'some data' . PHP_EOL . 'this should be on new line';
$fp = fopen('my_file', 'a');
fwrite($fp, $data);
// 파일 출력
some data
this should be on new line
감사합니다 그 일을하지만 왜 작동하지 않는 \ n 궁금해. –
당신을 진심으로 환영합니다. 자세한 내용은 다음을 참조하십시오. https://stackoverflow.com/questions/4975411/when-do-i-use-php-eol-instead-of-n-and-vice-versa-ajax-jquery-client-problem –
흠, 내가 필요한 대답입니다. –
줄 바꿈 표현 \r\n
또는 \n
을 생산하고 사용 PHP_EOL. PHP에는 현재 플랫폼에 대한 올바른 'End Of Line'심볼을 반환하는 PHP_EOL이라는 사전 정의 된 상수가 있습니다. PHP 5.0.2부터 사용 가능합니다.
따라서, 귀하의 코드는 다음과 같이해야한다 : 각 항목 사이에 "텍스트"를 추가 내파를 사용할 필요가
$output_line=$item.PHP_EOL;
fwrite($myfile,$output_line);
.
Implode는 배열을 가져 와서 각 항목 사이에 문자열을 추가하고 모든 문자열로 만듭니다.
$output_line=implode(" PHP_EOL", $item);
fwrite($myfile,$output_line);
이 지금 할 것 :
Item1 PHP_EOL
Item2 PHP_EOL
Item3 PHP_EOL
을 유효의 TXT 파일에 대한 자사의 브라우저가 HTML을 기대합니다. OS에 따라 "\ r \ n"이 필요할 수도 있습니다 – rtfm
"\ n"대신 PHP_EOL을 테스트로 사용하는 것은 어떻습니까? 그런 식으로 시스템 자체가 사용하는 모든 반환되어야합니다? –
몇 개의 아이템이 있습니까? $ item이란 무엇입니까? 문자열의 항목 하나 또는 배열의 여러 항목입니까? – Andreas