Thomas: Session & FlashUpload

Hallo

Habe in Flash eine Upload-Applikation mit Progress-Bar gebaut. Am Ende ruft es ein PHP-File auf, welches das File vom tmp-Verzeichnis ins richtige kopiert. Das SWF File ist in eine Seite eingebunden die verschiedene Session-Variablen hat. Versuche ich nun in diesem Upload-PHP File auf eine Session-Variable zu zu greifen, ist diese leer. Bsp:

<?php
session_start();
$VZ = $_SESSION['USER_ID'];

if (is_uploaded_file($_FILES['Filedata']['tmp_name'])){

$uploadDirectory="../\_IC/TEMP/".$VZ;  
$uploadFile=$uploadDirectory.basename($\_FILES['Filedata']['name']);  
			  
copy($\_FILES['Filedata']['tmp\_name'], $uploadFile);	  

}
?>

Rufe ich das PHP-File manuell auf, hat die Session-Variable einen Wert.

Kann mir jemand helfen? Warum ist das so?

Danke und Gruss
Thomas

  1. Hallo,

    kann ich mal einen Ausschitt haben wie du die Session gesetzt hast?

    mfg Xynon

    1. Hallo

      kann ich mal einen Ausschitt haben wie du die Session gesetzt hast?

      Die Session wird in einem anderen File (Login) gesetzt:
      z.B.
      $_SESSION['USER_ID'] = $USER_ID;  //wobei $USER_ID aus der DB kommt.

      Gruss
      Thomas

  2. Hi,

    Rufe ich das PHP-File manuell auf, hat die Session-Variable einen Wert.

    Und die _FILES-Variable?

    Kann mir jemand helfen? Warum ist das so?

    Weil Du (d.h. Dein Browser) beim manuellen Aufrufen die Session-ID uebergibst, das Flash-File beim Aufrufen aber nicht (, weil es die Session-ID nicht einmal kennt)?

    Viele Gruesse,
    der Bademeister

    1. Hallo,

      Weil Du (d.h. Dein Browser) beim manuellen Aufrufen die Session-ID uebergibst, das Flash-File beim Aufrufen aber nicht (, weil es die Session-ID nicht einmal kennt)?

      Da fällt mir viel wichtiger wäre es zu wissen wie du das php-script aufrufst?

      mfg Xynon

      1. Da fällt mir viel wichtiger wäre es zu wissen wie du das php-script aufrufst?

        Das PHP-Script rufe ich über Flash wie folgt auf:

        listener.onSelect = function(file:FileReference):Void {

        mc\_loading.gotoAndPlay(2);  
        fileinfo = file.name + " ("+Math.round(file.size/1024) + " kb)";  
        stat = "loading...";  
        mc\_btn\_status.gotoAndStop("upload");  
        
        if(!file.upload("http://84.253.63.159/innercircle/transfer\_fileupload.php")) {  
        	trace("Upload dialog failed to open.");  
        }  
        

        }

        gruss
        Thomas

  3. Hallo,

    weil Flash meines Wissens beim internen Aufruf der upload-PHP-Datei die Session nicht übergibt. Du könntest die $_SESSION['USER_ID'] an die swf-Datei übergeben und von da aus an die PHP-Datei.

    Grüße Sebastian

    --
    Das größte Übel der heutigen Jugend besteht darin, dass man nicht mehr dazugehört.
    Salvador Dali