PHP-Skript wird mehrmals aufgerufen

hi,

seltsam ist, dass wenn ich ein fileupload an ein php mit nur der anweisung ein Mail zu schicken sende:

<?php
mail ('name@blabla.ch', 'test', print_r ($_FILES, true));
?>

kommen 2 mails zurück
eines mit einem leeren Array und eines mit dem Pfad zu dem Tempfile


PHP:
import flash.net.FileReference;
var l:Object = new Object();
l.onSelect = function(f:FileReference):Void  {
	f.upload("pfad zu php file");
};
l.onOpen = function(f:FileReference):Void  {
	trace(f.name);
};
l.onComplete = function(f:FileReference):Void  {
	trace(f.name+" hochgeladen");
};
var ref:FileReference = new FileReference();
ref.addListener(l);
function doUpload() {
	ref.browse([{description:"Image Files", extension:"*.jpg"}]);
}

function onMouseDown (){
	
	doUpload();
}

ist das nur bei mir der Fall?

grüsse
 
Hi,

ich habe das mal eben ausprobiert und zwar mit einer Flashdatei, die per Copy&Paste aus Deinem Code entstanden ist (nur, dass die Funktion "doUpload" sofort aufgerufen wird) und einem PHP-Script, das Infos in eine Logdatei schreibt. Hier meine Ausgabe, nachdem ich drei Dateien hochgeladen habe:
Code:
called at: 2006.05.17 06:05:19
filedump: Filedata :: Array----| name :: 1.jpg
----| type :: application/octet-stream
----| tmp_name :: C:\xampp\tmp\php26.tmp
----| error :: 0
----| size :: 2547

------------------------------
called at: 2006.05.17 06:05:33
filedump: Filedata :: Array----| name :: b1.jpg
----| type :: application/octet-stream
----| tmp_name :: C:\xampp\tmp\php28.tmp
----| error :: 0
----| size :: 1937

------------------------------
called at: 2006.05.17 06:05:52
filedump: 
------------------------------
called at: 2006.05.17 06:05:52
filedump: Filedata :: Array----| name :: bild10.jpg
----| type :: application/octet-stream
----| tmp_name :: C:\xampp\tmp\php2A.tmp
----| error :: 0
----| size :: 34499

------------------------------
Der von Dir beschriebene Fehler scheint also bei mir ebenfalls sporadisch aufzutreten.

Kannst Du nicht einfach testen, ob was in $_FILES steht und andernfalls das Script abbrechen lassen?

Gruß
.
 
hi Tobias

danke für dein Test jetzt weiss ich schonmal wo der Fehler liegt,
ich weiss nicht genau wie das Script aussehen sollte:

if($_FILES ==""){
break;
}else{

phpscript

}

macht das Sinn, oder besser noch würde das funktionieren?
oder vielleicht mit einer while Schlaufe?

grüsse
 
Zuletzt bearbeitet:
Hi,

probiers mal z.B. mit
PHP:
if (!count($_FILES =="")) { break; }
oder
PHP:
if (empty($_FILES)) { break; }

Gruß
.
 
Hi

ich bin zurück, mit News:

unglaublich: es wird nur ein Eintrag in die Datenbank geschrieben! WOW!

doch: leider werden Höhe und Breite nicht übermittelt.

Für dieses Projekt sind diese Einträge nicht so wichtig, ich werde sie beim loadMovie ermitteln.Vielen Dank!
Doch falls du noch einen Masterplan aus der Tasche packst werde ich das natürlich gerne testen. :)

grüsse
 
doch: leider werden Höhe und Breite nicht übermittelt.
Was meinst Du mit "übermittelt"? Du ziehst die Bildgröße doch nach dem Upload aus der Bilddatei auf dem Server. Wenn ein Bild hochgeladen wurde, sollte die Funktion "getimagesize" doch funktionieren, oder ist das nicht der Fall?

Gruß
.
 
schlimmer noch, in der Euphorie habe ich nicht einmal bemerkt dass es gar keine Bilder hochläd.
kann ich dem script sagen es soll so lange nichts machen bis etwas in $_FILES steht?
 
Zuletzt bearbeitet:
Beim Aufruf des Scriptes steht entweder was in $_FILES oder nicht - warten bringt da nichts. Du sagst, beim zweiten Aufruf wird die Datei korrekt hochgeladen: Warum brichst Du nicht in allen anderen Fällen ab, wie ich es zwei Postings zuvor vorgeschlagen habe?

Gruß
.
 
ok ok mein Fehler durch das endlose herumprobieren habe ich es mit einem php File das noch auskommentierte Zeilen hatte versucht.
also:
PHP:
if (empty($_FILES)) { break; }

Und es funktioniert! Endlich, vielen Dank für deine Geduld.
 

Neue Beiträge

Zurück