note 91644 added to function.fsockopen

From: Date: Sun, 21 Jun 2009 10:17:02 +0000
Subject: note 91644 added to function.fsockopen
Groups: php.notes 
Request: Send a blank email to php-notes+get-157191@lists.php.net to get a copy of this message
When downloading large files, it is not really efficient to put the whole server answer in memory before parsing the data to remove the header parts. Here is a simple way to do it while writing the data as it arrive: <?php // $socket is a valid fsockopen handle $out = ''; $headerendfound = false; $fp = fopen($fileTarget, 'w'); $buffer = ''; while (!feof($socket)) { $out = fgets ($socket,16384); if ($headerendfound) { fwrite($fp, $out); print '.'; } if (!$headerendfound) { $buffer .= $out; print "searching for header\n"; $headerend = strpos($buffer, "\r\n\r\n"); if ($headerend !== false) { $headerendfound = true; fwrite($fp, substr($buffer, $headerend+4)); $buffer = ''; } } } fclose($fp); fclose($socket); ?> ---- Server IP: 62.2.182.223 Probable Submitter: 84.227.178.66 ---- Manual Page -- http://www.php.net/manual/en/function.fsockopen.php Edit -- https://master.php.net/note/edit/91644 Del: integrated -- https://master.php.net/note/delete/91644/integrated Del: useless -- https://master.php.net/note/delete/91644/useless Del: bad code -- https://master.php.net/note/delete/91644/bad+code Del: spam -- https://master.php.net/note/delete/91644/spam Del: non-english -- https://master.php.net/note/delete/91644/non-english Del: in docs -- https://master.php.net/note/delete/91644/in+docs Del: other reasons-- https://master.php.net/note/delete/91644 Reject -- https://master.php.net/note/reject/91644 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#157191) next »