note 45453 added to features.file-upload
| From: | marko_ | Date: | Tue, 07 Sep 2004 21:45:34 +0000 |
| Subject: | note 45453 added to features.file-upload | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-76169@lists.php.net to get a copy of this message | ||
<?php
//__ Method to upload file (including .php file) in a public directory:
//__ open temporary file
$r =fopen($_FILES['your_field_name']['tmp_name'], r);
$data = fread($r, filesize($_FILES['your_field_name']['tmp_name']));
fclose($r);
//__ encoding base64
$data = base64_encode($data);
//__ write file in directory
$r = fopen($_FILES['your_field_name']['name'], w);
fwrite($r, $data);
fclose($r);
?>
And to force download of the original file...
<?php
$r = fopen('name_of_stored_file', r);
$file = fread($r, filesize('name_of_stored_file'));
fclose($r);
$file = base64_decode($file);
header('Content-disposition: attachment; filename=name_of_stored_file');
header('Content-Type: application/force-download');
header('Content-Length: '.strlen($file));
print($file);
?>
With this method sensible file (.php) upload is allow in public directory, in fact php analyser
don't understand base64 encoded file ;-)
marko_
----
Manual Page -- http://www.php.net/manual/en/features.file-upload.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+45453
Delete -- http://master.php.net/manage/user-notes.php?action=delete+45453&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+45453&report=yes
Search -- http://master.php.net/manage/user-notes.php