D0804272 PHPから複数の画像ファイル名を読込む方法
Name dai
Date 2008年04月27日 (日) 01時25分
Message var MCLoader:MovieClipLoader = new MovieClipLoader();
MCLoader.loadClip("photo.jpg",photoFrame);

で画像↑とテキスト↓を読込むFLASHを作ったのですが、このファイル1つに対して複数の画像ファイル名をPHPから読込むように変更してほしいといわれたのですが全くわかりません。
テキストのほうは何とかサンプルを探して作ったのですが↓

System.useCodepage = true;
SendData = new LoadVars();
_root.SendData.nakami1 = "apple";
_root.SendData.nakami2 = "orange";
_root.SendData.sendAndLoad("./getFlash.php",_root.SendData);
_root.SendData.onLoad = function() {
if (this.val) {
trace(this.val1);
trace(this.val2);
}
aaa.text = this.val1;
bbb.text = this.val2;
};

FLASH8で作成しています。
質問の内容もわかりづらくて申し訳ないのですが
ご指導よろしくお願いします。
Response 01
2008年04月27日 (日) 17時26分> daniwell 
>このファイル1つに対して複数の画像ファイル名を―
とありますがこのファイル1つ、というのはどういう意味なんでしょうか。

単に複数の画像ファイル名を読み込むだけならPHPを使わず、
素直にTXTファイル読み込みでいいのではと思います。

質問文中に記載の、テキストを読込むスクリプトのほうで、引数を渡しているようなので
PHPに渡す引数に応じて、それぞれ別々の複数の画像ファイル名を読み込みたい、
とかいったことなのでしょうか?
Response 02
2008年04月27日 (日) 23時44分> dai 
daniwellさん、早速見ていただいてありがとうございます。
初めて掲示板を使わせていただいて、質問の内容が不足していてすみません。

今、PHPでページを作成していて(私ではないのですが・・・)、各ページに画像と文字を外部から読み込むだけの簡単なFLASHをセットしようとしています。各ページにこのFLASHをページの数だけセットするわけにいかないそうで、PHPでFLASHに読み込む画像ファイル名を(各ページにFLASHへ読み込む決まった画像ファイル名がありまして・・・なので複数になるんです)渡したいとのことでした。

お願いされているのは、テキストファイルと同じ事を画像ファイルもできたらいいといわれているのです。

daniwellさんの言われた
>質問文中に記載の、テキストを読込むスクリプトのほうで、引数を渡しているようなので
PHPに渡す引数に応じて、それぞれ別々の複数の画像ファイル名を読み込みたい

で教えていただくことできるでしょうか?

まだ、説明が不十分なところがあると思いますがよろしくお願いします。
Response 03
2008年04月29日 (火) 21時11分> daniwell 
>質問文中に記載の、テキストを読込むスクリプトのほうで、引数を渡しているようなので
PHPに渡す引数に応じて、それぞれ別々の複数の画像ファイル名を読み込みたい

でよいということですが、
1ページに対して画像は1枚なんでしょうか?

あと文字も読み込むようなので、
とりあえず、引数に応じて画像(のパス)と文字列を読み込む、とい方向でいきます。
(質問文中に記載のスクリプトと似たり寄ったりですが)

---- Flash ----

System.useCodepage = true;
var lv :LoadVars = new LoadVars();

lv.num = 1;  // 渡す引数 num = 1

lv.sendAndLoad("load.php",lv);
lv.onLoad = function( suc ) {  // 読み込み完了
    if ( suc ) {  // 読み込みが成功していたら
        var mcl :MovieClipLoader = new MovieClipLoader();
        mcl.loadClip( this.path, mc);  // 受信した変数 "path" の画像を "mc" に読み込む
        tf = this.tex;  // 受信した変数 "tex" をテキストフィールド "tf" に代入
    }
};

(※ムービークリップ "mc" や、テキストフィールド "tf" は適宜ステージ上に用意)


---- PHP ----

<?php

$num = $_POST["num"];  // データの受信

if($num == 1){  // num == 1 のとき
    $path = "pic1.jpg";
    $tex = "1番目の画像です!";
} else if ($num == 2){  // num == 2 のとき
    $path = "pic2.jpg";
    $tex = "2番目の画像だよ。";
}
print "path=".$path."&tex=".$tex;  // flash で受け取れるように出力( path=○○&tex=□□ )

?>


こんな感じで画像と文字列の読み込みは出来るとは思います。

が、
ぶっちゃけPHPのほうでどういう作り方をしているのか分からないので
このやり方で大丈夫なのかな?という気がします。

PHPでページを作成している、ということなので、
それならばいっそ、PHPでSWFを埋め込むタグを生成する段階で引数を渡すのが
最もよいような気がします。
例えば、

・・・
<?php
$path = "pic1.jpg"
?>

・・・
<param name="src" value="flash.swf">
<param name="flashvars" value="path=<?php echo $path; ?>">
・・・

な感じで(いろいろ省略してますが)、
PHPでFlashを埋め込むときに引数として渡してしまえば楽なのではと思います。
Response 04
2008年05月02日 (金) 00時34分> dai 
daniwellさん

ありがとうございました。この2日ほど頑張ってやってみました。
うまく動かすことができました。
PHPに埋め込まない方法で解決しました。
初めて掲示板を使わせていただいて、質問の内容も不十分にもかかわらず
答えていただいて本当にありがとうございました。

このページの先頭へ