AMFPHP 1.0 milestone 2 alpha

Today Patrick released a new milestone of amfphp: Chnages in this alpha release:

  • Added new methodTable option (per method) “fastArray” => true|false for fast array serializing on return (will only make a difference for large multidimensional nested voodoo arrays)
  • Added new method Headers::getHeader($key) available from all services, also HeadersFilter.php added
  • Added FrontBase support
  • Added Pear::db support
  • Added CSV-based recordsets support
  • Renamed sql folder to adapters to fit with the CSV recordsets
  • Various bugfixes for PHP4 MethodTable class
  • Major overhaul of service browser, should work much better now
  • New actionscript template system for service browser, see browser/templates/ for examples
  • Added new return type binary that will write the value as a string but without charsetHandling
  • Added new return type raw that will write to the output stream directly (careful)
  • SSL with ie hopefully works now

Some new methods included recently, which you can use in the gateway.php file (for production env): – disableStandalonePlayer() Disables the standalone player by filtering out its User-Agent string – disableServiceDescription() Disable service description from Macromedia’s service browser – disableTrace() Disables remote tracing – disableDebug() Stops debug info from being sent (independant of remote trace setting)

amfphp project page

PEAR::SWF updating… read and modify swf with PHP

I’ve just begun to modify the old PHP class flashHeader. Now using the PEAR::File class for a better file I/O processes.
Basically now, other than returning all the main information from an swf file, such as the bg color, framerate, player version, compression, protection used, movie size.., it allows to modify some of those parameters.
For example it can change the framerate, background, protection… I’m also working in order to allows the class modify some other swf tags in runtime..
Working example

Here the source file

<?php
// include the PEAR package
require “File/File_SWF.php”;
$flash = new SWF(“source.swf”);
if(
$flash->is_valid()){
$stat = $flash->stat(); // this give all the info
// and also..
$fps = $flash->getFrameRate();
$size = $flash->getMovieSize();
$bg = $flash->getBackgroundColor();
$prot = $flash->getProtected();
$compr = $flash->getCompression();
$version = $flash->getVersion();

// they can be changed…
$flash->setFrameRate(60);
$flash->setProtected(1);
$flash->setBackgroundColor(51,51,204);
$flash->setCompression(1);

// and write a new file…
$flash->write(“./new_one.swf”,1);
}
?>