Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.php > #14778

Re: PHP CSV

From Matthew Carter <m@ahungry.com>
Newsgroups comp.lang.php
Subject Re: PHP CSV
Date 2014-12-19 14:21 -0500
Organization Ahungry (http://ahungry.com)
Message-ID <87y4q3wilr.fsf@ahungry.com> (permalink)
References (7 earlier) <m6uuve$hfr$1@dont-email.me> <m702rq$1a9$1@dont-email.me> <191220140943102761%timstreater@greenbee.net> <m717q6$ka4$1@solani.org> <m71i0c$ht4$1@dont-email.me>

Show all headers | View raw


Jerry Stuckle <jstucklex@attglobal.net> writes:

> On 12/19/2014 8:05 AM, Christoph M. Becker wrote:
>> Tim Streater wrote:
>> 
>>> In article <m702rq$1a9$1@dont-email.me>, Jerry Stuckle
>>> <jstucklex@attglobal.net> wrote:
>>>
>>>> On 12/18/2014 11:22 AM, Joydeep Chakrabarty wrote:
>>>>
>>>>> <?php
>>>>>     $file = $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'x.csv';
>>>>>     echo $file . "<br />\n";
>>>>>     $fp = fopen ($file, "r") or die("Unable to open file");
>>>>>     fclose($fp);
>>>>> ?>
>>>>
>>>> You should never use die() (or exit() on a production server.  It
>>>> terminates processing of the script immediately, which produces invalid
>>>> (x)html.  Plus it looks like crap to the user.
>> 
>> While I absolutely agree that it is a very bad idea to terminate the
>> script in the middle of the output, prohibiting die or exit in a
>> production environment is too hard and fast a rule, IMO.  It's like
>> forbidding return, unless as the last statement of a function.
>>
>
> return does not create invalid output.  die() and exit() do.
>
> I have *never* found a need for either one in a properly constructed
> script.
>
>>> I dunno why the OP doesn't read the documentation. What I do is:
>>>
>>>  $fp = fopen ($file, "r")
>>>  if  ($fp===false)
>>>       {
>>>       // Perform error processing here, log the error in my log file
>>>       // and notify the remote end appropriately
>>>       exit ();
>>>       }
>> 
>> What I would do is something like:
>> 
>>   read_the_file();
>>   generate_output();
>> 
>> IOW: I would separate the presentation code from the domain code.
>> 
>
> I don't think it's necessarily a good idea to do this.  If the functions
> are only called one from one place, it upsets the flow of the script,
> making the reader go back and forth to follow processing.  It also means
> you have to read the entire script in before generating any output,
> instead of completely processing the input line by line.
>
> I prefer something like:
>
>  $fp = fopen ($file, "r")
>  if  ($fp) {
>     // Read the file and process it
>  }
>  else {
>    // Perform error processing here, log the error in my log file
>    // and notify the remote end appropriately
>  }

Exceptions work pretty well (instead of many if/else blocks).  Then you
can handle your output at the end if the process fails (and line by line
if it doesn't).

-- 
Matthew Carter (m@ahungry.com)
http://ahungry.com

Back to comp.lang.php | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

PHP CSV Joydeep Chakrabarty <chalao.adda@gmail.com> - 2014-12-18 17:09 +0530
  Re: PHP CSV Markus Heinz <markus.heinz@uni-dortmund.de> - 2014-12-18 13:11 +0100
    Re: PHP CSV "Christoph M. Becker" <cmbecker69@arcor.de> - 2014-12-18 13:27 +0100
      Re: PHP CSV Joydeep Chakrabarty <chalao.adda@gmail.com> - 2014-12-18 18:26 +0530
        Re: PHP CSV Markus Heinz <markus.heinz@uni-dortmund.de> - 2014-12-18 14:43 +0100
          Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2014-12-18 09:24 -0500
          Re: PHP CSV Joydeep Chakrabarty <chalao.adda@gmail.com> - 2014-12-18 20:56 +0530
            Re: PHP CSV Markus Heinz <markus.heinz@uni-dortmund.de> - 2014-12-18 16:57 +0100
              Re: PHP CSV "Christoph M. Becker" <cmbecker69@arcor.de> - 2014-12-18 17:04 +0100
              Re: PHP CSV Joydeep Chakrabarty <chalao.adda@gmail.com> - 2014-12-18 21:52 +0530
                Re: PHP CSV Markus Heinz <markus.heinz@uni-dortmund.de> - 2014-12-18 17:38 +0100
                Re: PHP CSV Joydeep Chakrabarty <chalao.adda@gmail.com> - 2014-12-18 16:49 +0000
                Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2014-12-18 21:34 -0500
                Re: PHP CSV Tim Streater <timstreater@greenbee.net> - 2014-12-19 09:43 +0000
                Re: PHP CSV "Christoph M. Becker" <cmbecker69@arcor.de> - 2014-12-19 14:05 +0100
                Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2014-12-19 10:59 -0500
                Re: PHP CSV Matthew Carter <m@ahungry.com> - 2014-12-19 14:21 -0500
                Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2014-12-19 18:17 -0500
                Re: PHP CSV "M. Strobel" <sorry_no_mail_here@nowhere.dee> - 2014-12-20 00:35 +0100
                Re: PHP CSV Erwin Moller <erwinmollerusenet@xs4all.nl> - 2015-02-04 13:19 +0100
                Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-04 08:03 -0500
                Re: PHP CSV Tim Streater <timstreater@greenbee.net> - 2015-02-04 13:29 +0000
                Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-04 09:06 -0500
                Re: PHP CSV Tim Streater <timstreater@greenbee.net> - 2015-02-04 15:26 +0000
                Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-04 10:40 -0500
                Re: PHP CSV Paul Herber <paul@pherber.com> - 2015-02-04 16:11 +0000
                Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-04 11:23 -0500
                Re: PHP CSV Tim Streater <timstreater@greenbee.net> - 2015-02-04 17:08 +0000
                Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-04 12:48 -0500
                Re: PHP CSV Tim Streater <timstreater@greenbee.net> - 2015-02-04 17:05 +0000
                Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-04 12:49 -0500
                Re: PHP CSV Tim Streater <timstreater@greenbee.net> - 2015-02-04 18:14 +0000
                Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-04 13:37 -0500
                Re: PHP CSV Matthew Carter <m@ahungry.com> - 2015-02-04 15:23 -0500
                Re: PHP CSV "Christoph M. Becker" <cmbecker69@arcor.de> - 2015-02-04 21:54 +0100
                Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-04 16:32 -0500
                Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-04 16:31 -0500
                Re: PHP CSV Erwin Moller <erwinmollerusenet@xs4all.nl> - 2015-02-04 16:39 +0100
                Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-04 10:57 -0500
                Re: PHP CSV Erwin Moller <erwinmollerusenet@xs4all.nl> - 2015-02-04 18:07 +0100
                Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-04 12:55 -0500
                Re: PHP CSV Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-02-06 23:26 +0100
                Re: PHP CSV "Christoph M. Becker" <cmbecker69@arcor.de> - 2015-02-07 01:38 +0100
                Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-06 19:44 -0500
                Re: PHP CSV "Christoph M. Becker" <cmbecker69@arcor.de> - 2015-02-07 14:49 +0100
                Re: PHP CSV Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-02-07 14:28 +0100
                Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-06 19:42 -0500
                Re: PHP CSV "Christoph M. Becker" <cmbecker69@arcor.de> - 2015-02-07 04:33 +0100
                Re: PHP CSV Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-02-07 14:26 +0100
                Re: PHP CSV "Christoph M. Becker" <cmbecker69@arcor.de> - 2015-02-07 14:45 +0100
                Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-07 08:54 -0500
                Re: PHP CSV "Christoph M. Becker" <cmbecker69@arcor.de> - 2015-02-07 16:54 +0100
                Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-07 11:00 -0500
                Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-07 08:51 -0500
                Re: PHP CSV "Christoph M. Becker" <cmbecker69@arcor.de> - 2015-02-07 14:55 +0100
        Re: PHP CSV Olaf Schmitt <thesys@gmx.de> - 2014-12-19 01:16 +0100
        Re: PHP CSV Denis McMahon <denismfmcmahon@gmail.com> - 2014-12-19 02:14 +0000
    Re: PHP CSV Joydeep Chakrabarty <chalao.adda@gmail.com> - 2014-12-18 18:13 +0530
      Re: PHP CSV Derek Turner <frderek@cesmail.net> - 2014-12-18 12:55 +0000
        Re: PHP CSV Joydeep Chakrabarty <chalao.adda@gmail.com> - 2014-12-18 18:33 +0530
          Re: PHP CSV Derek Turner <frderek@cesmail.net> - 2014-12-18 13:10 +0000
      Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2014-12-18 08:17 -0500
      Re: PHP CSV "Christoph M. Becker" <cmbecker69@arcor.de> - 2014-12-18 15:16 +0100

csiph-web