PHP Multpart-form Data (Dateiupload)

:confused: Nö, sollte es nicht:
  1. Dein Listener verfügt über keinerlei Ereignisse, sprich: Was soll wann aufgerufen werden?

  2. Deine Funktion "selectFile" wird nirgendwo aufgerufen.


  3. Ein Listener enthält keine Datennamen und schon gar kein Array mit Dateinamen.

  4. Du kannst nicht direkt nach der browse-Methode auf die name-Eigenschaft zugreifen, da derartige Strukturen asynchron arbeiten. Eben dazu dient das Ereignis "onSelect" (siehe mein vorheriges Posting), das in Deinem Code nicht existiert.

Gruß
.
 
So, mein momentanes Script:

Die Fla:

PHP:
_global.up = this;
import flash.net.FileReference; 
var fl:FileReference = new FileReference();
var listener:Object = new Object(); // Listener erstellen

listener.onSelect = function(file:FileReference):Void
{
	_root.listbox.addItem(file.name);
}
	
fl.addListener(listener);



function selectFile()
{
  fl.browse();   
} 

function Upload()
{
	file = listener.fileList[0];
	file.upload("up.php");
}


Die PHP

PHP:
<?php
copy($_FILES["tmp_name"],$_FILES["name"]);
?>

Funktioniert leider nicht :(

Edit: selectFile() //Wird von einem Button aufgerufen
 
Hi,

Code:
function Upload()
{
    file = listener.fileList[0];
    file.upload("up.php");
}
1. Nach wie vor: Ein Listener enthält kein Objekt/Array namens "fileList" ... was soll das darstellen? :confused:

2. Du versuchst hier, etwas zu verschicken, dass Du aus "listener.fileList[0]" erhältst - was soll das sein? Verschicken kannst Du lediglich Dein FileReference-Objekt.

2. Wo und wann rufst Du denn die Funktion "Update" auf?

4. Langsam beschleicht mich der Verdacht, dass Du nicht wirklich weißt, was Du tust - was Du vorhast meine ich aber zu ersehen: Du willst mehrere Dateien nacheinander auswählen, diese in eine Listbox eintragen und dann alle Dateien auf einmal hochladen, stimmts? Das ist leider so nicht möglich: Verschicken kannst Du per "upload" nur ein FileReference-Objekt zur Zeit; jedes davon kann auch nur eine Referenz auf eine Datei enthalten. Wenn Du mehrere Dateien hochladen willst, musst Du zusätzlich das FileReferenceList-Objekt verwenden. Jede Datei in der Liste dieses Objekts entspricht einem FileReference-Objekt, dessen upload-Methoden Du nacheinander ausführen musst.

Gruß
.
 
Hi, dass mit den mehereren dateien ist mier momentan noch zu schwer, dafür möchte ich aber eine Progressbar machen.

Ist dass der richtige ansatz, funktioniert aber nicht

PHP:
_global.up = this;
import flash.net.FileReference; 
var fl:FileReference = new FileReference();
var listener:Object = new Object(); // Listener erstellen

listener.onSelect = function(file:FileReference):Void
{
	_root.listbox.addItem(file.name);
	file.upload("up.php");
}
	
fl.addListener(listener);



function selectFile()
{
  fl.browse();   
} 

listener.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void
{ 
_root.stat._width = bytesLoaded;
}
 
Hi,

ich war mal so frei, ein kleines Beispiel fertig zu machen (siehe Anhang).

Klicke erst auf "Browse" und dann auf "Upload". Der Fortschritt wird sowohl im Display als auch mit dem "Ladebalken" angezeigt.

Wenn Du eine jpg- oder eine swf-Datei hochgeladen hast, wird diese direkt nach dem Upload eingeladen und angezeigt.

Gruß
.
 

Anhänge

  • upload.zip
    22,8 KB · Aufrufe: 65
Hallo,

ich hab mir mal dein Beispiel runtergeladen, auf den Server gelegt und getestet.
Leider wird kein Bild wirklich hochgeladen, obwohl Upload erfolgreich dasteht.
Auf dem internen Server hab ich es auch getestet, dort bekomm ich es auch nicht auf den Server. Wo könnte der Fehler liegen?

schöne grüße

[Edit]schön blöd wenn man vergisst die Rechte neu zu vergeben.[/Edit]
 
Zuletzt bearbeitet:
Hallo Leute,

sorry das ich das Thema noch mal ausgrabe, aber habe da mal eine kleine Frage:

Hatte mir auch mal einen Upload zurechtgebastelt und hatte das Problem das ich zwar Files auf dem Server laden konnte, diese allerdings nicht öffnen konnte: "Datei konnte nicht geöffnet werden, eventuell defekt." Die Datei wurde aber (laut Datengrösse) komplett geladen.

Nun habe ich es mit dem angehängten Beispiel von Tobias probiert, mit dem selben Ergebnis. Das Bild wird ABER in der Vorschau angezeigt.

Woran kann das liegen :confused:

P.S. Falls es von Bedeutung ist, ich teste das ganze auf einem Mac
 
Zuletzt bearbeitet:
Mein Problem hat sich erledigt.
Wem es interessiert, die Datei nimmt natürlich die Rechte des Upload-Zielordners an.
Dummerweise gibt einem Mac OS X die Meldung "die Datei ist möglicherweise Defekt".

Gruß
Dominik
 
So aslo, ich poste noch einmal in diesem Threat^^.

Ich wollte Dich, Tobias, fragen ob ich dein Upload Beispiel in meine Page einbauen darf?
Und wenn ja: Was muss ich der .fla bzw in der PHP verändern das ich es in meinem HP ordner Speichere (die Upgeloadeten Bilder)?

vielen Dank
mfg
green

Ps: Ich verändere das bsp auch graphisch...
ach ja und noch etwas... wisst ihr ob man Macromedia Samples in seine Homepage ienbauen darf? wenn man sie graphisch verändert?
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück