How to save files from Flex to your server with PHP

For my AMDawing I searched a lot for . And all the solutions that I found are too complex in my opinion. I saw all the examples with remote objects and AMFphp or ZendAMF.

Finally I found the solution at I think it is the most straight forward solution. This are the basics:

First you make the URLrequest that requests the php file url. And then you use URLvariables to send all the variables to the php file. This is the code:

                        var request:URLRequest = new URLRequest("upload.php");
	         	var vars:URLVariables = new URLVariables();
 = this.creatorName.text;
		        vars.bindata = Base64.encodeByteArray(imageData);
		        request.method = "POST";
		        var loader:URLLoader = new URLLoader();
		        loader.addEventListener(Event.COMPLETE, uploadPhotoHandler);
 = vars;

That is everything at the Flex side. Now the PHP file “upload.php”:

  if ($_REQUEST["bindata"] === NULL) {
    echo "missing parameter.";
  }else {
    $img_data = base64_decode($_REQUEST["bindata"]);
    $name = $_REQUEST["name"] === NULL ? "anonymousn" : $_REQUEST["name"];
    $name = strip_tags($name);
    $img_size = strlen($img_data);
    if ($img_size < 1000000) {
	$date = date("U");
      $img_filename = "data/$name.$date.png";
      $img_file = fopen($img_filename, "w") or die("can't open file");
      fwrite($img_file, $img_data);
	echo "$date";
      echo "$img_size bytes uploaded.";
    }else {
      echo "image too big.";

If you want an extended tutorial you have to go to

Author Bio

Leave a reply