php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #45371 SWFBitmap object can not be returned
Submitted: 2008-06-27 05:02 UTC Modified: 2008-07-07 00:28 UTC
From: letmegetone at hotmail dot com Assigned:
Status: Closed Package: Ming related
PHP Version: 4.4.8 OS: Windows XP SP3
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: letmegetone at hotmail dot com
New email:
PHP Version: OS:

 

 [2008-06-27 05:02 UTC] letmegetone at hotmail dot com
Description:
------------
I want to put some worked codes into a function, in order to make my main script shorter.
All other MING classes work well,such as SWFSprite,SWFShape, except SWFBitmap.
I can get the error message from apache2:
 PHP Fatal error:  output() [<a href='function.output'>function.output</a>]: Initial Jpeg marker not found! 

It seems that the SWFBitmap object can not be returned in a function.

I tried test like this:
CODE I  + CODE III             :FAILED
CODE II + CODE IV              :WORKS
CODE I  + CODE II  + CODE III  : WORKS

Reproduce code:
---------------
function get_b()//CODE I
{
   $mfile="xx.jpg";   $fp=fopen($mfile,"r");
   $string=fread($fp,filesize($mfile));
   $b = new SWFBitmap($string);
   fclose($fp);
   return $b;
}
   $mfile="xx.jpg";   $fp=fopen($mfile,"r");//CODE II
   $string=fread($fp,filesize($mfile));
   $b = new SWFBitmap($string);
   fclose($fp);

   $s = new SWFShape();

   $scale= $s->addFill(get_b());         //CODE III
   $scale= $s->addFill($b);              //CODE IV

Expected result:
----------------
Can I put the code with the SWFBitmap object into a function?


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2008-06-27 05:08 UTC] letmegetone at hotmail dot com
I posted the completed CODES on a Chinese-based website:
http://club.phpe.net/index.php?act=ST&f=15&t=13441&s=
 [2008-07-07 00:28 UTC] letmegetone at hotmail dot com
$string=fread($fp,filesize($mfile));
The problem is not about SWFBitmap,but the $string.
It can not be changed by fread more than one time.
 [2010-11-24 06:44 UTC] letmegetone at hotmail dot com
I tested it,and found:
   $img=file_get_contents("1.jpg");
   $s = new SWFShape();
   $imgf = $s->addFill($img, SWFFILL_TILED_BITMAP);
   $s->setRightFill($imgf);
   $m->add($s);
   $m->output();
it works. But if I try to remove the data of string $img before ouput() called
   $img="";
   $m->output();
it failed.
Is that means that all data resources the SWFMovie used should be keept untill output() is done?
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Fri May 09 16:01:27 2025 UTC