Flash i PHP

0

Witam,

Próbuje zrobić ale nie wiem w ogóle jak się za to zabrać. Chcę aby lista wybranych plików z okna dialogowego wywołanego przez Flasha została przygotowana do przesłania do PHP. Więc moje pytanie jak wywołać okienko z filtrami na pliki graficzne, umożliwić tam zaznaczeniu kilka pozycji i przesłać tablicę plików do PHP (najlepiej w postacji lista_plikow[] - tak jak checkbox z HTML)

Liczę na pomoc, dzięki.

0

hmmm w php dokładnie nie wiem, ale w innym języku było to realizowane za pomocą javascript

0

To zaproponuj kod do JS a ja z AJAXem przerobię to ort! wolałbym nie iść obkrężną drogą.

0

10 sekund grzebania i masz
http://www.permadi.com/tutorial/flashjscommand/index.html
Ciebie interesują:
Send Data
Flash method being used: SetVariable(variableName, variableValue)
Receive Data
Flash method being used: GetVariable(variableName)

0
var fileRefList:FileReferenceList = new FileReferenceList();
fileRefList.addEventListener(Event.SELECT, selectHandler);
fileRefList.browse();
 
function selectHandler(event:Event):void
{
    var file:FileReference;
    var files:FileReferenceList = FileReferenceList(event.target);
    var selectedFileArray:Array = files.fileList;
     
    var pliczki = "wykonaj.php?";

    for (var i:uint = 0; i < selectedFileArray.length; i++)
    {
        file = FileReference(selectedFileArray[i]);
        pliczki = pliczki + "nowyplik" + i + "=" + file + "&";
    }
}

Po wykonaniu tego kodu uzyskuje:
wykonaj.php?pliczki=[object balbal bal]&pliczki=[object .....]

Jak uzyskać taką zmienną gotową do funkcji w PHP do uploadu?

0

coś we flash skopałeś, bo zobacz jaki dostałeś wynik
powinieneś dostać wykonaj.php?nowyplik0=foo0.txt&nowyplik1=foo1.txt&...

pewnie file to jakiś obiekt, a nie string z nazwą pliku i czemu każdy parametr w qs nazywa się pliczki?

0

Na razie wszystko jest przez $_GET abym zobaczyć czy w ogóle działa. No właśnie jest coś skopane ale nie wiem co.
Szukam jak z Flasha przekazać obiekt do odpowiednika w PHP, $_FILES i w nim uploadować.

Help.

1

Referencję do pliku przesyłasz? To się nie uda... GETem w ogóle nie prześlesz plików, przeczytaj specyfikację RFC na temat przesyłania plików HTTPem.

0

a w sumie po co ci ten flash? nie możesz użyć <input type="file" ... ?

0

we flashu nie ma możliwości uploadu wielu plików naraz (jest jakaś zewnętrzna biblioteka, która to umożliwia, ale testowałem ją kiedyś i mocno niedomagała).
musisz wywołać fileReference.upload(), podając w parametrze obiekt URLRequest, który będzie definiować szczegóły wywołania. a jeśli chcesz uploadować wiele plików, to musisz założyć nasłuch na fileReference na Event.COMPLETE i w metodzie obsługi zdarzenia odpalać upload kolejnego pliku, i tak aż do końca.

to jest kompletnie nieprawidłowe:

file = FileReference(selectedFileArray[i]);
pliczki = pliczki + "nowyplik" + i + "=" + file + "&";

"pliczki" to string, doklejasz do niego obiekt niebędący stringiem, jak sobie wyobrażasz całość po sklejeniu? podpowiem: fileReference().toString() zwraca ciąg "[object FileReference]".
w hipotetycznym przypadku, kiedy byłoby to prawidłowe, to i tak GETem nie możesz wysłać więcej, niż 255 znaków (teoretycznie można znacznie więcej, większość przeglądarek obsługuje okolice kilkudziesięciu kB, ale w RFC jest to określone jako 255 bajtów, poza tym serwer jeszcze musi obsługiwać żądania o tak wielkim rozmiarze).

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.