php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #20400 Doing: base64_encode on JPG & GIF images. Error: The function ends prematurely.
Submitted: 2002-11-12 14:25 UTC Modified: 2002-11-12 15:45 UTC
From: dromar84 at msn dot com Assigned:
Status: Not a bug Package: *Graphics related
PHP Version: 4.2.1 OS: win32
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: dromar84 at msn dot com
New email:
PHP Version: OS:

 

 [2002-11-12 14:25 UTC] dromar84 at msn dot com
The following PHP script is stable on *NIX platforms but unstable on Win32 platorms.

<?php
$LineLength = 50;

$uploadfile = 'PATH TO IMAGE';
$uploadfile_name = 'PATH TO IMAGE';

$fd = fopen ($uploadfile, "r");
$size = filesize ($uploadfile);
$c = substr ("$uploadfile_name", strrpos ($uploadfile_name, ".") + 1 );
$cont = fread ($fd, $size);
fclose ($fd);
$encimg = base64_encode ($cont);
$imgcode = chunk_split ("$encimg", $LineLength, "'.'"); 
print $imgcode;
?>

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-11-12 14:30 UTC] derick@php.net
Please try using this CVS snapshot:

  http://snaps.php.net/php4-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-latest.zip
 [2002-11-12 14:31 UTC] iliaa@php.net
Sorry, but your problem does not imply a bug in PHP itself.  For a
list of more appropriate places to ask for help using PHP, please
visit http://www.php.net/support.php as this bug system is not the
appropriate forum for asking support questions. 

Thank you for your interest in PHP.

On windows you need to open binary files with 'rb' not 'r'. 
If you still experience the problem even after changing the fopen flags try using the latest CVS snapshot.
 [2002-11-12 14:31 UTC] dromar84 at msn dot com
I intend to use this script to store mutiple image files in a database or in one compressed file. If anyone knows of a better way to accomplish this task, I would appriciate it if you could tell me.

p.s. I am aware that using base64_encode will not result in a compressed file.
 [2002-11-12 15:45 UTC] dromar84 at msn dot com
The problem is fixed by using 'rb'(read binary) instead of 'r'(read) inside of the fopen flag on Win32 platforms.

Just another 3-bit mistake by the script writer.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Wed Apr 24 17:01:30 2024 UTC