FLASH PHP dinamik olarak oluşturulan XML yüklemek nasıl

3 Cevap php

Question Updated for Bounty

Flash PHP kullanılarak oluşturulan bir dinamik olarak oluşturulan XML dosyası yüklemek gerekiyor.

Ben [Toplu-yükleyici kütüphanesi] istimal [1] tüm yükleme için.

Currently my Flash can only load a manually created XML file, what I need Flash to do is to load a PHP generated XML File like this:
--- XML path removed ---

Ben PHP XML çalışacağını Dosya oluşturduğu kullanarak Flash'ta filmi test zaman çevrimiçi bir HTML sayfası yerel testi veya ya çalıştığınızda, ancak sorun yatıyor. Flaş nedeniyle XML veri elde bazı sorun tamamen işlemez.


Here are some links to show where I'm at right now:

[FLash using manually generated XML file][2]
^ Uses: [The XML file][3]

[Flash using PHP generated XML file][4]
^ Uses: [The PHP generated XML File][5]


Ben bir PHP dosyası yüklemek için nasıl ve yükleme türü bilgileri için Toplu-yükleyici Wiki aradı ve bunu buldum: [http://code.google.com/p/bulk-loader/] [6]

bulkInstance.add("http://mysite.com/top-ten.php", {type:"text"});
bulkInstance.add("http://mysite.com/top-ten.php", {type:"xml"});
bulkInstance.add("http://mysite.com/top-ten.php", {type:"image"});


CODE Snippets

Here is my current code that loads an XML file:
'theXML' variable is obtained form the FlashVars from the HTML

private function init(e:Event = null):void 
    {
        removeEventListener(Event.ADDED_TO_STAGE, init);

        stage.scaleMode = StageScaleMode.NO_SCALE;
        stage.align     = StageAlign.TOP_LEFT;
        theXML          = this.loaderInfo.parameters.theXML;
        loader          = new BulkLoader("bulky");
        loader.logLevel = BulkLoader.LOG_INFO;
        loader.addEventListener(BulkLoader.COMPLETE, onBulkLoadComplete);
        loader.addEventListener(BulkLoader.PROGRESS, onBulkLoadProgress);

        /* ------------------------------------------- TESTING */
        //Below is manual XML, works when tested local & online
        //loader.add("client_user.xml",{id:"xmldata"});

        //Below uses PHP generated XML, works when tested in Flash, but no where else
        //loader.add("--- XML path removed ---",{id:"xmldata", type:"xml", maxTries: 6, preventCache:true});

        /* ------------------------------------------- LIVE */
        //loader.add(theXML,{id:"xmldata"});
        loader.add(theXML,{id:"xmldata", type:"XML", maxTries: 6, preventCache:true});

        loader.start();
    }


onBulkLoadComplete code

private function onBulkLoadComplete(e:Event):void
{
trace("[BulkLoader] COMPLETE"+"\r");

Global.xml   = loader.getXML("xmldata");
HEX          = Global.xml.config.hex.toString(),{id:"hex"};
globalWidth  = Global.xml.config.width.toString();
globalHeight = Global.xml.config.height.toString();
videoHeight  = (globalHeight - (thumbMenuH + videoY + spacedBtn));
controlsY    = (videoHeight + videoY);

trace("············· Config ·············");
//trace(" HEX          = "+HEX);
//trace(" globalWidth  = "+globalWidth);
//trace(" globalHeight = "+globalHeight);
//trace("··································");
//trace("\r");

// ------------------------------------------------------ XML ARRAY
var x, i;

for(x in Global.xml.tab) {
    for(i in Global.xml.tab[x].vid) {
        videos.push(Global.xml.tab[x].vid[i].@flv);
        thumbTitles.push(Global.xml.tab[x].vid[i].@title);
        thumbPaths.push(Global.xml.tab[x].vid[i].@thumb);
    }
}

// ------------------------------------------------------ XML ARRAYS            
videoName  = videos[0]; // Current video is the 1st video

drawBackground();
drawVideo();
drawControls();
drawTabMenu();

// -------------------------------- FIND DEFAULT IMAGE/VIDEO TO LOAD
for(x in Global.xml.tab) {
    for(i in Global.xml.tab[x].vid)     {
        if (Global.xml.tab[x].vid[i].@default == "true") {
            //override any flv qued in the display
            firstTitle = Global.xml.tab[x].vid[i].@title;
            vd.flvPath = Global.xml.tab[x].vid[i].@flv;

            //load the default thumbnail
            loader = new BulkLoader("thumb");
            loader.addEventListener(BulkLoader.COMPLETE, onThumbComplete);
            loader.add(new URLRequest(Global.xml.tab[x].vid[i].@thumb),{id:"defaultThumbnail"});
            loader.start();
            break;
        }
    }
}
}

HTML Embed Code:

<div>
    <h2>Testing TEN player on external domain</h2>
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="301" height="353">
    <param name="movie" value="http://www.domain1.com/N/N.swf">
    <param name="quality" value="high">
    <param name="flashVars" value="theXML=http://dev.domain2.com/admin2/client.php?id=2" />
    <embed src="http://www.domainname.com/N/N.swf" flashVars="theXML=http://dev.domain2.com/admin2/client_user.php?id=2" allowscriptaccess="always" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="301" height="353">
    </embed>
    </object>
</div>


Question:

1) Nasıl Flash. Php biter dinamik olarak oluşturulmuş bir XML dosyası yüklemek ve bir HTML
doğru Flaş hale


UPDATE

Biz 'Filmi Test' ancak biz sadece Flash içinden çalışma sonuçlarını görebilirsiniz, PHP, XML dosyası oluşturulur okumak Flaş var. Biz yerel veya çevrimiçi bir HTML sayfası işe almak çalıştığınızda doğru işlenmez.

3 Cevap

Çıktınız Gönderen:

Error #1088: The markup in the document following the root element must be well-formed.

Bu sorunun yükleyici ile ancak PHP çıkışı ile değil gibi görünüyor. Tarayıcınızdan doğrudan oluşturulan XML erişmek ve onu indirerek beklendiği gibi çıkış görünüyor emin olmak için kontrol edin. Eğer bir metin editörü line-by-line bunun geçmesi halinde çıktı hatayı tespit etmek için, ya da bir XML editörü kullanmayı deneyin ve bu sorunları bulursa görebiliyordu mümkün olabilir.

Eğer PHP dosyasından çalıştırırken ben bir hata var beri, add Online Test TEN.swf yılında bulkloader in içinde type:"XML" koyduk emin misiniz ?

Edit:

Önceki TEN.swf gelen bayt kodunu Okuma xml türü koymak olmadığını göstermek:

0x000076  [ 0xd0 ]       GetLocal0                                                                
0x000077  [ 0x66 ]       GetProperty          QName(PrivateNamespace(""), "theXML")                                                    
0x00007a  [ 0x2c ]       PushString           "id"                                                    
0x00007d  [ 0x2c ]       PushString           "xmldata"                                                    
0x000080  [ 0x55 ]       NewObject            1                                                    
0x000082  [ 0x4f ]       CallPropVoid         QName(PackageNamespace(""), "add"), 2                                                    

Şimdi iş gibi görünüyor ve bayt kodu göstermek gösteren xml türü eklendiğini

0x000076  [ 0xd0 ]       GetLocal0                                                                
0x000077  [ 0x66 ]       GetProperty          QName(PrivateNamespace(""), "theXML")                                                    
0x00007a  [ 0x2c ]       PushString           "id"                                                    
0x00007d  [ 0x2c ]       PushString           "xmldata"                                                    
0x000080  [ 0x2c ]       PushString           "type"        <===== here it is now                                            
0x000083  [ 0x2c ]       PushString           "xml"         <=====                                           
0x000086  [ 0x2c ]       PushString           "maxTries"                                                    
0x000089  [ 0x24 ]       PushByte             0x6                                                    
0x00008b  [ 0x2c ]       PushString           "preventCache"                                                    
0x00008e  [ 0x26 ]       PushTrue                                                                 
0x00008f  [ 0x55 ]       NewObject            4                                                    
0x000091  [ 0x4f ]       CallPropVoid         QName(PackageNamespace(""), "add"), 2                                                    

Eğer php dosyanın ilk satırında bu kodu koymak deneyin:

header ("content-type: text/xml");