Temporäre Bilder lesen?

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

  • Temporäre Bilder lesen?

    Hi zusammen!

    Ist es nicht möglich, Temporäre Dateien, die mittels Post upgeloadet wurden zu lesen?

    Ich habe ein getimagesize, welches eigentlich wunderbar funktioniert. Sobald ich aber ein temporäres Bild ansprechen will (egal ob relativ oder absolut) sagt er mir

    Warning: getimagesize: Unable to open '***.com/tmp/phpUB6LRr' for reading. in /var/www/***/html/***/lab/***/***hochladen.php on line 78

    Ist das normal? Und auch wenn ich ein Bild mittels relativen Pfad versuche zu lesen, gibt er diese Meldung aus. Laut Manual sollte es gehen.

    Jemand an idea??

  • #2
    hi

    vielleicht musst du dir erst die berechtigung besorgen:

    probiers mal mit:

    chmod($thefile, 0644);

    bevor du das bild anzeigst

    gruss von

    pau

    Kommentar


    • #3
      Danke! Aber das hilft mir leider nicht weiter, da das File meines erachtens nach die Rechte besitzt.

      EDIT: Ich habs getestet, aber es hilft nichts.

      Kommentar


      • #4
        hi

        also bei funktioniert das folgendermassen:

        PHP-Code:
        if(isset($submit) && $submit=="senden" && $thefile_type=="image/jpeg"){
        chmod($thefile, 0644);
        copy($thefile,"/home/.../.../uploadpics/gross.jpg");

         
         $bild = "/home/.../.../uploadpics/gross.jpg";
         $bild_size = getimagesize($bild);

        $bild_breite=$bild_size[0];

        $bild_hoehe=$bild_size[1];

                    if($bild_breite>150) {
                    
                        $bild_neueBreite=150;
                    
                        $bild_neueHoehe=floor($bild_hoehe*$bild_neueBreite/$bild_breite);
                    
                        $bild_altesbild=ImageCreateFromJPEG($bild);
                    
                        $bild_neuesbild=ImageCreate($bild_neueBreite-1,$bild_neueHoehe-1);
                    
                        ImageCopyResized  ($bild_neuesbild,$bild_altesbild,0,0,0,0,$bild_neueBreite,$bild_neueHoehe,$bild_breite,$bild_hoehe);
                    
                    
                        ImageJPEG($bild_neuesbild, "/home/.../.../uploadpics/test.jpg", 100);
                    
                    }  
        ?>
        <BR>altes bild :<BR> 
        <IMG SRC="../../../uploadpics/gross.jpg" BORDER=0 ALT=""><BR><BR><BR>
        neues bild :<BR>
        <IMG SRC="../../../uploadpics/test.jpg" BORDER=0 ALT="">
        <?php
        ?>
        er zeigt beide bilder an das upgeloadete und das neu erzeugte

        gruss von pau

        Kommentar


        • #5
          Ungefähr das klappt bei mir ja auch, aber ich muss die Größe der temporären Datei bekommen, und das haut nicht so wirklich hin. ich vermute mal, weil die Datei noch keine Dateiendung hat und deshalb nicht als Bild erakannt wird.

          Kommentar


          • #6
            hi

            ok hatte ich vorher nicht richtig verstanden. dafuer habe ich jetzt folgendes rausbekommen:


            ImageJPEG($bild_neuesbild, "/home/.../.../uploadpics/test.jpg", 100);

            getImagesize($bild_neuesbild); <--- HIER GIBT ER DEN FEHLER

            getImagesize("/home/.../.../uploadpics/test.jpg"); <-- HIER NICHT


            hilft dir das weiter?

            gruss von pau

            Kommentar


            • #7
              Du meinst also, dass ich nur mit dem absoluten Verzeichnispfad an die tmps dran komme. Das wäre ne Lösung.

              Kommentar


              • #8
                hmmmm

                scheint bei dir doch anders zu laufen.

                bei mir funktioniert auch ganz einfach:

                PHP-Code:
                <?
                if(isset($submit) && $submit=="senden" && $thefile_type=="image/jpeg"){
                $bild_size = getimagesize($thefile);
                ?>
                und da habe ich noch gar nichts mit dem bild angefangen....

                gruesse von

                pau

                Kommentar


                • #9
                  Entspricht $thefile dem Temporären Namen der umgeloadeten Datei?

                  Kommentar


                  • #10
                    hi

                    jo

                    das ist das input feld

                    <input type="file" name="thefile" size="52">

                    und vor der if_abfrage mache ich nichts!

                    gruss von pau

                    Kommentar


                    • #11
                      Das glaub ich dir nicht.

                      Das Formular sendet dir doch ein Array. Das heißt, $thefile ist ein Array und kein String.

                      Kommentar


                      • #12
                        hmmmm

                        soviel misstrauen ? ;-)

                        also auch wenn du es nicht glaubst!

                        es ist so und funktioniert!

                        und nun in

                        http://www.php-resource.de/manual.ph...es.file-upload

                        steht:

                        Wenn register_globals in der php.ini aktiviert ist, stehen unter der Annahme, dass der Name des Dateiuploads wie in dem obigen Beispielskript 'userfile' ist, zur Verfügung:

                        *

                        $userfile - Der temporäre Name, unter dem die hochgeladene Datei auf dem Server gespeichert wurde.
                        *

                        $userfile_name - Der ursprüngliche Dateiname auf dem System des Absenders.
                        *

                        $userfile_size - Größe der hochgeladenen Datei in Bytes.
                        *

                        $userfile_type - Der Mime-Type der Datei, falls der Browser diese Information zur Verfügung gestellt hat. Ein Beispiel wäre "image/gif".

                        Beachten Sie, dass der Teil "$userfile" der obigen Variablen den Namen des Dateifeldes <input name="userfile" type="file"> im Uploadformular trägt. In dem obigen Beispiel haben wir es "userfile" genannt.


                        gruesse von pau

                        Kommentar


                        • #13
                          Okay, ich gehe von globals: OFF aus und nutze das Array $_FILES[userfile][tmp_name] Zeigt er mir auch an, nur das es in der FKT nicht so will.

                          Naja ich guck erstmal weiter...

                          Dank dir für deine Hilfe.

                          Kommentar


                          • #14
                            sag mal was ist denn der vorteil wenn die globals off sind?
                            oder was ist der nachteil wenn sie on sind?

                            gruesse von pau

                            EDIT :

                            ok habs schon im manual gelesen....
                            so ein mist haette ich mir mal vorher ueberlegen sollen


                            Zuletzt geändert von pauino; 12.12.2002, 17:01.

                            Kommentar


                            • #15
                              Also bei mir persönlich sind die auf on. Aber trotzdem progge ich meine eigenen Scripte, als off sie nicht on sind. Man weiß ja nie, ob man demnächst mal umstellt. Außerdem schaltet man dann schon einige Nachteile automatisch aus.

                              Und für Kundenscripte gilt meistens OFF.

                              Kommentar

                              Lädt...
                              X