note 81914 added to function.readfile

From: Date: Wed, 19 Mar 2008 08:33:30 +0000
Subject: note 81914 added to function.readfile
Groups: php.notes 
Request: Send a blank email to php-notes+get-137195@lists.php.net to get a copy of this message
If you still encounter problems, downloading some types of binary files (.doc, .zip, .xls etc.) such as corrupted bytes (esp. NUL(0x00) bytes replaced by spaces(0x20)) with readfile(), consider the following replacement for use with download.php?file=somefile.ext <?php $downloadFolder = '/download/'; if ( !preg_match( '/^(\w)+\.(?!php|html|htm|shtml|phtml)[a-z0-9]{2,4}$/i', $_GET['file'] ) ) { error_log( "USER REQUESTed for:\t".$_GET['file'] ); die; }; $filename = ROOT.$downloadFolder.$_GET['file']; if ( !file_exists($filename) ) { echo "No file here. [<a href='javascript:self.close();'>close</a>]"; error_log( "USER REQUESTed for non-existing file:\t".$_GET['file'] ); exit; }; $string = 'Location: '.HOST.$downloadFolder.$_GET['file']; header($string); exit; ?> ---- Server IP: 195.54.192.44 Probable Submitter: 84.204.230.26 ---- Manual Page -- http://www.php.net/manual/en/function.readfile.php Edit -- https://master.php.net/note/edit/81914 Del: integrated -- https://master.php.net/note/delete/81914/integrated Del: useless -- https://master.php.net/note/delete/81914/useless Del: bad code -- https://master.php.net/note/delete/81914/bad+code Del: spam -- https://master.php.net/note/delete/81914/spam Del: non-english -- https://master.php.net/note/delete/81914/non-english Del: in docs -- https://master.php.net/note/delete/81914/in+docs Del: other reasons-- https://master.php.net/note/delete/81914 Reject -- https://master.php.net/note/reject/81914 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#137195) next »