--- On Thu, 9/10/09, Steve Brown <[email protected]> wrote:
> From: Steve Brown <[email protected]>
> Subject: [PHP] Reading files in PHP 5.3.0
> To: [email protected]
> Date: Thursday, September 10, 2009, 4:13 PM
> I've been beating my head against a
> wall all day and can't figure this
> one out. The code below worked perfectly in
> PHP5.2.4. However, I
> recently upgraded to PHP5.3.0 and this code no longer
> works.
>
> The function below accepts the path to a text file
> containing headers
> from a cUrl session (example attached). Basically
> this function opens
> to log file, looks for certain headers and captures some
> information
> from that line. When called on the attached file (or
> any log file for
> that matter), the following is output:
>
> array(2) {
> ["ResponseCode"]=>
> NULL
> ["ErrorMessage"]=>
> NULL
> }
>
> Which means that nothing is getting read from the file.
>
> Now, I'm going to qualify all of this by saying I'm running
> OSX Snow
> Leopard, so I'm fully prepared to believe that Apple fucked
> something
> up in it, as they have done to third party packages on
> other occasions
> in the past. Well... to be fair, they don't usually
> fuck up third
> party packages, rather they introduce "enhancements" to the
> OS that
> prevents certain packages from working correctly and could
> care less
> that they broke it.
>
> So did anything change in PHP5.3.0 that would preclude the
> code below
> from working? Am I going crazy? Or did Apple
> f...@# something up in
> this release?
>
> Thanks,
> Steve
>
> BEGIN CODE
> ==========
> function parseResponseHeaders($header_file) {
> $http_found = $error_found = false;
> $http_reponse = $error_message = NULL;
>
> $response = array();
> $response['ResponseCode'] = NULL;
> $response['ErrorMessage'] = NULL;
>
> if (!is_file($header_file) ||
> !is_readable($header_file)) {
> return $response;
> }
>
> $fin = fopen($header_file, 'r');
> while ($line = fgets($fin)) {
> var_dump($line);
>
What does var_dump($line); tell you?
Regards,
Tommy
> if (substr($line, 0,
> 4) == 'HTTP') {
>
> $line_explode = explode(' ', $line);
>
> $response['ResponseCode'] = preg_replace('/\D/', '',
> $line_explode[1]);
> if
> ($response['ResponseCode'] != 100) {
>
> $http_found = true;
> }
> }
>
> if (substr($line, 0,
> 16) == 'X-Error-Message:') {
>
> $line_explode = explode(' ', $line);
>
> array_shift($line_explode);
>
> $response['ErrorMessage'] = join(' ', $line_explode);
>
> $error_found = true;
> }
> }
> fclose($fin);
>
> var_dump($response);
> return $response;
> }
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php