2017-04-10 9 views
-1

apriori_main 테이블의 일부 정수를 쉼표로 구분 된 값으로 텍스트 파일에 저장하려고합니다. 반복 할 때마다 file_put_contents을 사용하여 다음 행에 데이터를 씁니다. fwrite을 사용하면 같은 결과가 나타납니다.PHP를 사용하여 개행을 추가하지 않고 파일에 추가

내가 텍스트 파일에서 원하는 출력은 다음과 같습니다

1,2,3,4 

그러나 내가 갖는 출력은 다음과 같습니다

$y=""; 
$stmt='SELECT category FROM apriori_main where id='.$id.''; 
$nRows = $conn->query('select count(category) from apriori_main where id='.$id.'')->fetchColumn(); 
echo $nRows; 

$file = "/opt/lampp/htdocs/ghi.txt"; 
$f = fopen($file, 'a+'); // Open in write mode 
$count=1; 

foreach($conn->query($stmt) as $row) 
{ 
    if($count!=$nRows) 
    { 
     $user = $row['category']."\n"; 
     $y=$user; $y=$y.","; 
     $str=$y; echo $y; 
     $count=$count+1; 
    } 
    else 
    { 
     $user = $row['category']."\n"; 
     $y=$user; $str=$y; echo $y; 
    } 
    file_put_contents($file, $str, FILE_APPEND); 
} 
fclose($f); 
+2

음, 어디 ...'(마지막에 하나의 파일 작업과 함께)이 아래로이

$file = "/opt/lampp/htdocs/ghi.txt"; $f = fopen($file, 'a+'); // Open in write mode $count=1; foreach($conn->query($stmt) as $row) { if($count!=$nRows) { $user = $row['category']."\n"; $y=$user; $y=$y.","; $str=$y; echo $y; $count=$count+1; } else { $user = $row['category']."\n"; $y=$user; $str=$y; echo $y; } file_put_contents($file, $str, FILE_APPEND); } fclose($f); 

의 모든을 깰 수 있다고 생각합니다. "\ n"' 왜? – AbraCadaver

+0

\ n은 새 줄과 동일하므로 새 줄에서 시작하도록 지시합니다. –

+1

'file_put_contents'를 사용하려면 실제로 파일 핸들을 열 필요가 없습니다. –

답변

-1
를 작성하지 마십시오 루프에서 쉼표 ,을 추가 할 필요가 없습니다 개행에게의 \n를 사용하지 마십시오 파일을 열 필요가 없습니다

이 값으로 무엇을하고 있는지 알 수는 없지만 불필요한 변수를 선언하는 것 같습니다.

나는 효과적으로

$file = "/opt/lampp/htdocs/ghi.txt"; 

foreach($conn->query($stmt) as $row) 
{ 
    $y[] = $row['category']; 
} 
//output to screen 
echo implode("<br>", $y); 
//output to file 
file_put_contents($file,implode(",", $y)); 
+0

그런 짧은 통보에 대한 나의 질문을 해결해 주셔서 대단히 감사드립니다. – user3379583

0

: 여기

1 
,2 
,3 
,4 

는 코드입니다 필요한 모든 것 :

짧은, 당신의

그래서 쿼리 결과 행 배열

  • 추가] category
  • 내파 배열 쉼표로 요소 , 및 파일에 쓸 통해는
    • 루프 :

      1. 수를 쿼리하지 않아도됩니다.
      2. 각 루프 반복
  • +0

    그런 짧은 통고에 대한 나의 질문을 해결해 주셔서 대단히 감사합니다. 완벽하게 작동했습니다! – user3379583