Image aus ByteArray

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

  • #16
    -1 ist schon mal ganz schlecht... da wird es wohl ein problem mit datentypen geben...

    was du brauchst, ist http://de3.php.net/manual/en/function.pack.php, um die daten erst mal wieder in binary-form zu bekommen.

    Kommentar


    • #17
      jetzt blick ich nur noch nicht so ganz wie ich mit der funktion pack() meine bytes in binary-form bekomm.

      Kommentar


      • #18
        im grunde genau so, wie es im manual (und in der usernotes) steht.

        Kommentar


        • #19
          nur ich check die Funktion nicht so ganz, welche Parameter benötigt pack()?

          weil ich hab ja beispielsweise ein array, welches ich in binary-form bringen will

          Kommentar


          • #20
            ist es byte in java? das ist ein 8-bit signed ganzzahliger datentyp.
            äquivalent in c - signed char.

            also:
            Code:
            fopen ...
            schleife(POST){
               fwrite (pack(post value))
            }
            und immer schön testausgaben machen, mit einem hexeditor kontrollieren.

            Kommentar


            • #21
              Original geschrieben von |V|emphis
              print_r($_POST); gibt folgendes aus: (entspricht dem, was auch in java ausgegeben wird, wenn ich mir das ByteArray auslese)

              PHP-Code:
              Array
              (
                  [
              0] => -1
                  
              [1] => -40
                  
              [2] => -1
                  
              [3] => -32
                  
              .
                  .
                  .
                  [
              1344] => -1
                  
              [1345] => -39

              Und ein MB an Daten auf diese Weise übertragen zu lassen, erscheint dir in irgendeiner Weise performant ...?

              Das erfordert ja für jedes einzelne Byte ein name=value-Päärchen im POST-Datenstrom - also schon bspw. bei der letzten Zeile aus deiner Beispielausgabe 4 Bytes für den Key '1345', ein Byte für's Gleichheitszeichen, und nochmal eins als eigentlichen Wert - also 6 Bytes, um eigentlich nur eins zu übertragen. Nicht zu vergessen, auch noch das & zum Abtrennen der name=value-Päärchen voneinander, also 7 Bytes. Bei steigender Key-Länge noch entsprechend mehr ...

              Wirkt irgendwie reichlich, sorry, hirnrissig.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #22
                also in binary-form umwandeln hat funktioniert:
                PHP-Code:
                $dateiname "img.jpg";           
                $fp fOpen($dateiname "w+");      

                foreach (
                $_POST as $k => $v) {
                    
                fWrite($fp pack("C*"$v));
                }

                fClose($fp); 

                @wahsaga:

                im endeffekt will ich später dann aus 1MB 977 päckchen machen (1.000.000 / 1024 = 977) und übertragen. und schauen wie viel ich in einer sekunde übertragen hab. wenn ich dann weiß, dass ich ich 40x1024bytes übertragen hab, hab ich auch die uploadgeschwindigkeit, zumindest theoretisch.

                ich bin für jede andere methode offen.

                Kommentar


                • #23
                  der overhead verfälscht die rechnung ungemein.
                  besser: hochrechnung. einfach den gesamten upload prozess messen, teilen. evtl. größere datenmengen in betracht ziehen.

                  Kommentar


                  • #24
                    ich versuche es mal den ganzen upload prozess in 1, 10 oder 100kb stückchen zu teilen und denn ma schauen was dabei raus kommt

                    Kommentar

                    Lädt...
                    X