<div dir="ltr"><div><div><div><div><div><div><div>I have a class with <br></div><div>       private $tableStr = &#39;&#39;;<br>.<br>.<br><br><br></div><div>    function display() {<br>        // get colgroups/cols<br>        $this-&gt;tableStr .= $this-&gt;getColgroups();<br>        <br>        // get sections and their rows/cells<br>        $this-&gt;tableStr .= !empty($this-&gt;thead)? $this-&gt;getSection($this-&gt;thead, &#39;thead&#39;): &#39;&#39;;<br>        $this-&gt;tableStr .= !empty($this-&gt;tfoot)? $this-&gt;getSection($this-&gt;tfoot, &#39;tfoot&#39;): &#39;&#39;;<br>        <br>        foreach( $this-&gt;tbody_ar as $sec ) {<br>            $this-&gt;tableStr .= !empty($sec)? $this-&gt;getSection($sec, &#39;tbody&#39;): &#39;&#39;;<br>        }<br>        <br>        $this-&gt;tableStr .= &quot;&lt;/table&gt;\n&quot;;<br>        return $this-&gt;tableStr;<br>    }<br><br><br></div>in my main line code I want to save this into a file<br></div>so<br></div><div>&lt;?php<br></div><div>$tbl = new .....<br></div><div>blah<br></div><div>blah<br>.<br><br></div><div>$fp = fopen(&#39;data.txt&#39;, &#39;w&#39;);<br></div><div>$str=$tbl-&gt;display();<br></div><div>fwrite($fp, $str);<br>fclose($fp);<br><br></div><div>What happens is the file gets created,  and written in to<br></div><div>and !! the text also appears in my browser stream<br></div><br></div>If I delete the line $str=$tbl-&gt;display();<br></div><div>all is good,  it is almost like the method had<br></div><div>echo $this-&gt;tableStr;<br><br></div><div><br>How is the <br></div></div>return $this-&gt;tableStr;<br></div><div>outputting my string to my browser ?<br><br></div><div>In another spot in my code I have<br></div><div>echo $tbl -&gt; display();<br></div><div>and it works as expected.<br></div><div><br><br></div><div>I want to both display the data on the web page, and also use it<br></div><div>to create a pdf or .jpg file which is why I added the write function.<br><br>-<br></div><div>V<br></div></div>