(PHP 4)
swf_closefile — 現在の Shockwave Flash ファイルを閉じる
設定されている場合、SWF ファイルの内容が関数から返されます。
値を返しません。
例1 ユーザの入力に基づき簡単な flash ファイルを生成し、出力します。 また、データベースにこれを保存します。
<?php
// 変数$textはユーザにより投稿されます。
// データベースアクセス用のグローバル変数
// (swf_savedata()関数で使用)
$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)
// 後で取得できるように生成されたファイルをデータベースに保存します。
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);
}
?>