kostenloser Webspace werbefrei: lima-city


echo - ausgabe des php-scripts beim upload mit flash as3

lima-cityForumDie eigene HomepageFlash und Silverlight

  1. Autor dieses Themas

    sonok

    Moderator Kostenloser Webspace von sonok

    sonok hat kostenlosen Webspace.

    hallo :frown:

    wie kann ich an die echo-werte eines php-scripts kommen, wenn ich versuche eine datei zu uploaden?

    also speziell hier
    [...]
    	referenzen.push(new FileReference());
    	referenzen[0].addEventListener(Event.COMPLETE,completeHandler);
    [...]
    private function completeHandler(event:Event):void
    	{
    		trace(event.target.type);
    		text_upload[2].inhalt.text="fertig";
    	}
    
    soll das mit trace realiasiert werden.

    danke!
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. t*****b

    Du willst die geparste PHP-Datei zurück geben? Dann musst du die Datei erst hochladen, dann ausführen und was du hier zurückbekommst sind deine "Echo-Werte". Ich würde bei sowas aber aus Sicherheitsgründen aufpassen.
  4. Autor dieses Themas

    sonok

    Moderator Kostenloser Webspace von sonok

    sonok hat kostenlosen Webspace.

    naja, das problem ist, das ich die upload-funktion aus der F1 verwende, aber nix ankommt und flash keine fehlermeldung bringt.

    im flash zählt es die datenmenge meiner datei usw usf und gibt mir auch die gesamtmenge und die trace-ausgabe aus meinem anfangspost. es kommt auch keine fehlermeldung, daß die php nicht gefunden sei oä

    nun mag ich sehen, ob es aus dem php-dokument heraus irgendwelche meldungen kommen. ich weiß nicht, wie ich die echo-werte ausgebe.

    hm, was kann denn da sicherheitsmäßig schief gehen? (sekundäre frage :smile:)
  5. t*****b

    Wenn du eine Datei über Flash aufrufst (getvar o.Ä.), dann gibt es einen Rückgabewert mit dem du arbeiten (ausgeben) kannst.
  6. Autor dieses Themas

    sonok

    Moderator Kostenloser Webspace von sonok

    sonok hat kostenlosen Webspace.

    ein
    trace(referenzen[0].response)
    oder
    trace(event.target.response);
    gibt immer die fehlermeldung
    ReferenceError: Error #1069: Eigenschaft response für flash.net.FileReference nicht gefunden und es ist kein Standardwert vorhanden at scripte::FensterHochladen/completeHandler()
    aus

    :frown:
  7. Hallo!

    Ist zwar nicht die lösung für das Flashproblem, aber ein kleiner Workaround um doch an die ausgabe zu kommen.

    -> In eine Datei schreiben (logdatei)

    Dann kannst du nachlesen was alles ausgegeben wurde

    Eingefügt in den Code vom anderen Thread:
    ob_start();
    
    echo "<pre>".print_r($_FILES, 1)."</pre>";
    if ($_FILES["file"]["error"] > 0)
    {
    	echo "Error: " . $_FILES["file"]["error"] . "<br />";
    }
    else
    {
    	echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    	echo "Type: " . $_FILES["file"]["type"] . "<br />";
    	echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    	echo "Stored in: " . $_FILES["file"]["tmp_name"] . "<br />";
    	
    	$move = move_uploaded_file($_FILES["file"]["tmp_name"], "./uploads/".$_FILES["file"]["name"]);
    	
    	if($move == true)
    		echo "erfolgreich hochgeladen";
    	else
    		echo "Fehler beim hochladen";
    }
    
    $outputbuffer = ob_get_contents();
    ob_end_clean();
    
    echo $outputbuffer;
    
    $fp = fopen('log.txt', 'a');
    fwrite($fp, "==== ".date("d.m.Y H:i:s")." ====\r\n".$outputbuffer."\r\n\r\n");
    fclose($fp);


    mit ob_start und ob_get_contents wird einfach die ganze ausgabe zwischen gespeichert und anschliesend in eine datei (log.txt) im selben ordner geschrieben (angehängt) (noch eine zeile mit dor aktullen zeit)

    edit:
    Damit kannst ja schonmal prüfen wird die Datei vom Flashskript überhaupt aufgerufen. (Die Datei wird automatisch erstellt, um das zu überprüfen kannst du die php Datei mal im Browser aufrufen und dann hasst du schon einen logeintrag (=kontrolle ob rechte um datei zu erstellen)

    Beitrag zuletzt geändert: 13.8.2009 14:00:25 von dussel
  8. Autor dieses Themas

    sonok

    Moderator Kostenloser Webspace von sonok

    sonok hat kostenlosen Webspace.

    ah, super, das ist wirklich super!! hm, dann ist es insgesamt wohl doch kein flash-problem :slant:

    nach einem trocken-click, ob es klappt (ich schäm mich) hier eine log, die angekommen ist

    ==== 13.08.2009 14:55:34 ====
    <pre>Array
    (
        [Filedata] => Array
            (
                [name] => bild_05.jpg
                [type] => application/octet-stream
                [tmp_name] => /home/webpages/tmp/phpV1B3fC
                [error] => 0
                [size] => 26931
            )
    
    )
    </pre>Upload: <br />Type: <br />Size: 0 Kb<br />Stored in: <br />Fehler beim hochladen


    also wird die datei tatsächlich falsch verschoben

    hm, muß ich denn den tmp_name - pfad auch angelegt haben ? und wo kommt der überhaupt her? im flash sende ich die daten an

    http://sonok.lima-city.de/sonok_12/php.php


    :confused:

    der tmp_name-pfad bleibt, auch wenn ich die datei online ausgebe

    edit
    ohje, der pfad der htaccess schaut ja so aus
    /home/webpages/lima-city/sonok/html/sonok_12/

    kann das mein problem sein, das da die sachen falsch geschpeichert werden?
    wenn ich eine subdomain mache und die verwende (http://info.sonok.de/Unbenannt-2.swf) bleibt dummerweise der pfad bestehen

    Beitrag zuletzt geändert: 13.8.2009 15:24:37 von sonok
  9. der tmp_name-pfad wird in der php.ini fix angegeben und bleib dadurch immer gleich.

    Also im Log sieht man: -> file muss Filedata heisen.

    ob_start();
    
    echo "<pre>".print_r($_FILES, 1)."</pre>";
    if ($_FILES["Filedata"]["error"] > 0)
    {
    	echo "Error: " . $_FILES["Filedata"]["error"] . "<br />";
    }
    else
    {
    	echo "Upload: " . $_FILES["Filedata"]["name"] . "<br />";
    	echo "Type: " . $_FILES["Filedata"]["type"] . "<br />";
    	echo "Size: " . ($_FILES["Filedata"]["size"] / 1024) . " Kb<br />";
    	echo "Stored in: " . $_FILES["Filedata"]["tmp_name"] . "<br />";
    	
    	$move = move_uploaded_file($_FILES["Filedata"]["tmp_name"], "./uploads/".$_FILES["Filedata"]["name"]);
    	
    	if($move == true)
    		echo "erfolgreich hochgeladen";
    	else
    		echo "Fehler beim hochladen";
    }
    
    $outputbuffer = ob_get_contents();
    ob_end_clean();
    
    echo $outputbuffer;
    
    $fp = fopen('log.txt', 'a');
    fwrite($fp, "==== ".date("d.m.Y H:i:s")." ====\r\n".$outputbuffer."\r\n\r\n");
    fclose($fp);


    edit: file natürlich überall ausbesser (hatte eines vergessen oben bei if ($_FILES["Filedata"]["error"] > 0))

    Beitrag zuletzt geändert: 13.8.2009 17:49:03 von dussel
  10. Autor dieses Themas

    sonok

    Moderator Kostenloser Webspace von sonok

    sonok hat kostenlosen Webspace.

    so ist es !!

    also, ich hab das mit dem filedata natürlich nicht erkannt, aber jemand anderes hat mich den code solange ändern lassen, bis das bild den server erreicht hat ... ein oder zwei minuten nach dussels beitrag :prost:

    also, für lima-leute, die das auch mal testen wollen, lautet die zeile der glückseligkeit

    move_uploaded_file($_FILES["Filedata"]["tmp_name"], "/home/webpages/lima-city/[USERNAME]/html/[OPTIONALE PFADANGABE]/".$_FILES["Filedata"]["name"]);


    ich danke wirklich allen, die mir geholfen haben! wenn ihr mal einen soundstreamplayer oder so braucht und alle im netz zu häßlich sind ...


    edit
    kann geschlossen werden, danke

    Beitrag zuletzt geändert: 13.8.2009 17:42:09 von sonok
  11. thoba

    Co-Admin Kostenloser Webspace von thoba

    thoba hat kostenlosen Webspace.

    Das das Thema abschließend geklärt ist, auf Wunsch:

    *CLOSED*

    Bei Rückfragen PN an mich.
  12. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!