Re: cvs: php4 /ext/standard file.c /main php_streams.h streams.c

From: Date: Fri, 18 Oct 2002 22:21:22 +0000
Subject: Re: cvs: php4 /ext/standard file.c /main php_streams.h streams.c
References: 1  Groups: php.cvs 
Request: Send a blank email to php-cvs+get-15036@lists.php.net to get a copy of this message
On October 18, 2002 05:50 pm, Rasmus Lerdorf wrote: > > > My point is that the original data is munged once it goes through the > > > file() function. In that sense it is not binary safe as there is no > > > way to restore the original data. > > > > Unless the user actually goes and modifies the data, it is very easy to > > restore the original file back. The example script below will demonstrate > > that the output of file() can still be safely restored. > > > > <?php > > echo md5_file("sapi/cli/php")."\n"; > > echo md5(implode("", file("sapi/cli/php")))."\n"; > > ?> > > > > Both of the md5s are identical, meaning that the file() call itself did > > nothing that would corrupt the file preventing the the user from > > restoring file. IMHO that means that the function is binary safe. > > But EOL is not always \n and it can be a mix of \r\n \n or \r. You have > no way of knowing which eol caused the break for any particular line. In > that sense file() is irreversible. Why would I care about that, the EOL are not stripped by file(), so I do not need to know EOLs when assembling the file back. As long as I assemble the number of lines equal to the number of lines read, I will get the same file. Ilia

« previous php.cvs (#15036) next »