Ankündigung

Einklappen
Keine Ankündigung bisher.

SWFUpload anhand eines Images nicht eines Buttons aufrufen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • SWFUpload anhand eines Images nicht eines Buttons aufrufen

    Hallo Zusammen. Folgendes Prob.
    Und zwar möchte ich unbedingt den SWF Upload benutzen.
    Der wird im Header mit allen möglichen Settings vorbereitet. Dazu wird auch gesagt, Wo das Bild für den hochlade Button liegt.
    Jetzt ist es So, dass ich mir im Body alle meine Bilder vom Server auslesen lasse. Jetzt will ich, das der SWF Uploader bei jedem einzelenm Bild funktioniert. Sorich anstatt eines einzelnen Button Bildes, will ich viele Buttonbilder benutzen. Jetzt ist die Frage, wie bekomme ich es hin Die variable aus dem Body an den header zu übergeben und vernünftig im SWFupload-Settings gedöns einzubinden
    Danke schon mal im vorraus.
    Hier der Code
    PHP-Code:
    <!DOCTYPE html>
    <html>
    <head>
    <title>SWFUpload - Einfach</title>
    <link href="./css/default.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="./swfupload/swfupload.js"></script>
    <script type="text/javascript" src="./swfupload/swfupload.queue.js"></script>
    <script type="text/javascript" src="js/fileprogress.js"></script>
    <script type="text/javascript" src="js/handlers.js"></script>
    <script type="text/javascript">
            var swfu;

            function open_window() {
                var settings = {
                    flash_url : "./swfupload/swfupload.swf",
                    flash9_url : "./swfupload/swfupload_fp9.swf",
                    upload_url: "upload.php",
                    post_params: {"PHPSESSID" : "<?php echo session_id(); ?>"},
                    file_size_limit : "100 MB",
                    file_types : "*.jpg; *.jpeg",
                    file_types_description : "JPEG",
                    file_upload_limit : 100,
                    file_queue_limit : 0,
                    custom_settings : {
                        progressTarget : "fsUploadProgress",
                        cancelButtonId : "btnCancel"
                    },
                    debug: false,

                    // Button settings
                    button_image_url: "uploadZ/tmp////// HIER MUSS JEDES EINZELNE BILD HIN////////",
                    button_width: "100",
                    button_height: "100",
                    button_placeholder_id: "spanButtonPlaceHolder",
                    button_text: '<span class="theFont">Upload</span>',
                    button_text_style: ".theFont { font-size: 16; }",
                    button_text_left_padding: 8,
                    button_text_top_padding: 3,
                    
                    // The event handler functions are defined in handlers.js
                    swfupload_preload_handler : preLoad,
                    swfupload_load_failed_handler : loadFailed,
                    file_queued_handler : fileQueued,
                    file_queue_error_handler : fileQueueError,
                    file_dialog_complete_handler : fileDialogComplete,
                    upload_start_handler : uploadStart,
                    upload_progress_handler : uploadProgress,
                    upload_error_handler : uploadError,
                    upload_success_handler : uploadSuccess,
                    upload_complete_handler : uploadComplete,
                    queue_complete_handler : queueComplete    // Queue plugin event
                };

                swfu = new SWFUpload(settings);
             };
            
        </script>
    </head>
    <body>

    <?php
    $dir 
    "uploadZ/";

    // Öffnen eines bekannten Verzeichnisses und danach seinen Inhalt einlesen

    if ($dh opendir($dir))
    {
    /*HIER WIRD DIE VARIABLE FILE DEKLARIERT, DIE ICH OBEN VERWENDEN WILL*/
        
    while (($file readdir($dh)) !== false)
        {
        
    //echo '<img src="'.$dir.$file.'" />';
            
    if (is_file($dir.$file))
            {
            
    //First of all..grab some image infos
            
    $picinfos=getimagesize($dir.$file);
            
            
    //Create an new image from the old one
            
    $oldpic=imagecreatefromjpeg('uploadZ/'.$file);
            
            
    //Create an new blank image with new sizes
            
    $newpic=imagecreate(100100);

            
    //Copy resized old pic into new pic
            
    imagecopyresized($newpic,$oldpic,0,0,0,0,100,100,$picinfos[0],$picinfos[1]);
            
            
    imagejpeg($newpic'uploadZ/tmp/'.$file);
            
            
    //echo '<img onload="open_window('.$file.')" />';
            //echo '<script>open_window('.$file.');</script>';
            
    echo '<img src="uploadZ/tmp/'.$file.'" &nbsp; &nbsp; &nbsp; style="cursor:pointer" onclick="open_window();"/>';
            }
        }
        
    closedir($dh);
    }


    ?>


    <div id="content">
        <form id="form1" action="index.php" method="post" enctype="multipart/form-data">
            <div class="fieldset flash" id="fsUploadProgress"></div>
            <div id="divStatus">0 Files Uploaded</div>
                <div>
                    <span id="spanButtonPlaceHolder"></span>
                    <input id="btnCancel" type="button" value="Cancel All Uploads" onclick="swfu.cancelQueue();" disabled="disabled" style="margin-left: 2px; font-size: 8pt; height: 29px;" />
                </div>

        </form>
    </div>
    </body>
    </html>
    sigpic


  • #2
    Ich glaube ich kann die variable so ein binden:
    PHP-Code:
    button_image_url: "upload/tmp/" <?php echo $file ?>",
    Allerdings ist die variable dort nicht definiert. Logischer weise. der header kommt ja vor dem Body. Kann mir da jemand helfen. Ich dreh langsam durch..
    sigpic

    Kommentar


    • #3
      Zitat von Sermon Beitrag anzeigen
      Allerdings ist die variable dort nicht definiert. Logischer weise. der header kommt ja vor dem Body. Kann mir da jemand helfen.
      Was dir da hilft, ist der Umstieg von Spaghetti-Code auf das EVA-Prinzip.

      Kommentar


      • #4
        In wie fern EVA? MVC oder wie jetzt?
        Geht das mit xajax?
        sigpic

        Kommentar


        • #5
          Zitat von Sermon Beitrag anzeigen
          In wie fern EVA?
          EVA-Prinzip – Wikipedia
          MVC oder wie jetzt?
          Geht das mit xajax?

          Kommentar


          • #6
            Wiki krieg ich noch geöffnet...

            Aber ehrlich gesagt habe ich keine ahnung wie ich das umsetzten kann... *schäm*
            sigpic

            Kommentar


            • #7
              Was ist denn daran so schwer?

              Jetzt ist es So, dass ich mir im Body alle meine Bilder vom Server auslesen lasse.
              Wenn du diese Daten, oder einen Teil davon, schon vorher brauchst - dann liest du sie einfach vorher schon aus.

              Statt die Ausgaben, die du im Body machen willst, beim Auslesen direkt rauszufeuern, speicherst du sie dir erst mal in einer Variablen - und gibst deren Inhalt dann nachher an der Stelle aus, wo die Ausgabe stehen soll.

              Das kann entweder eine String-Variable sein, wo du einfach das aneinander hängst, was du derzeit mit echo ausgibst; oder auch ein Array, in dem du die Werte erst einmal sammelst, und das du dann nachher an der Stelle, wo die Ausgabe erfolgen soll, noch mal in einer foreach-Schleife durchläufst.

              Kommentar


              • #8
                Funktioniert vielleicht anstatt des auskommentierten
                PHP-Code:
                //echo '<img onload="open_window('.$file.')" />'; 
                vielleicht eher
                PHP-Code:
                echo "<img onclick='open_window($file)' />"
                Halt mich auf dem Laufenden!

                Lass XAJAX erstmal außen vor und probier es mal so, damit es schonmal dein Anfangsprob. löst


                [UPDATE]############
                Mir ist da noch eine Idee gekommen!
                Wie wäre es, wenn du dem "Button_text" bei den Button-Settings nicht nen <span> übergibst, sondern ein <img>, und zwar genau das des jeweiligen Bildes.
                Ob das funzt, weiß ich natürlich nicht, aber es ist eine Idee

                Außerdem müsstest du die Funktion natürlich so umschreiben, dass, so wie ich es oben beschrieben habe, die Variable, die an die Funktion übergeben wird, auch benutzt wird.
                Also muss die Funktion dann nicht open_window(), sondern open_window($filename) heißen oder so
                sigpic

                Kommentar

                Lädt...
                X