PHP Manual
Prev |  | Next

# swf_closefile

(PHP 4 >= 4.0.0)

swf_closefile -- Close the current Shockwave Flash file

## Description

``void swf_closefile` (int [return_file])`

Close a file that was opened by the swf_openfile() function. If the `return_file` parameter is set then the contents of the SWF file are returned from the function.

Example 1. Creating a simple flash file based on user input and outputting it and saving it in a database
    <?php

    // The $text variable is submitted by the
    // user

    // Global variables for database
    // access (used in the swf_savedata() function)
    $DBHOST = "localhost";
    $DBUSER = "sterling";
    $DBPASS = "secret";

    swf_openfile ("php://stdout", 256, 256, 30, 1, 1, 1);

        swf_definefont (10, "Ligon-Bold");
            swf_fontsize (12);
            swf_fontslant (10);

        swf_definetext (11, $text, 1);

        swf_pushmatrix ();
            swf_translate (-50, 80, 0);
            swf_placeobject (11, 60);
        swf_popmatrix ();

        swf_showframe ();

        swf_startdoaction ();
            swf_actionstop ();
        swf_enddoaction ();

    $data = swf_closefile (1);

    $data ?
      swf_savedata ($data) :
      die ("Error could not save SWF file");

    // void swf_savedata (string data)
    // Save the generated file a database
    // for later retrieval
    function swf_savedata ($data)
    {
        global $DBHOST,
               $DBUSER,
               $DBPASS;

        $dbh = @mysql_connect ($DBHOST, $DBUSER, $DBPASS);

        if (!$dbh) {
            die (sprintf ("Error [%d]: %s",
                          mysql_errno (), mysql_error ()));
        }

        $stmt = "INSERT INTO swf_files (file) VALUES ('$data')";

        $sth = @mysql_query ($stmt, $dbh);

        if (!$sth) {
            die (sprintf ("Error [%d]: %s",
                          mysql_errno (), mysql_error ()));
        }

        @mysql_free_result ($sth);
        @mysql_close ($dbh);
    }
    ?>

Prev | Home | Next
swf_openfile | Up | swf_labelframe