Ankündigung

Einklappen
Keine Ankündigung bisher.

ImagickException: HTTP request failed!

Einklappen

Neue Werbung 2019

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

  • ImagickException: HTTP request failed!

    Hallo,
    für mein Projekt will ich das der Benutzer den Auschnitt für sein Profilbild nachträglich ändern kann,leider wirft mir php folgenden fehler vor die Füße:

    ImagickException: Imagick::readimage(): HTTP request failed! HTTP/1.1 401 Unauthorized in ..
    für die Codezeile:
    PHP-Code:
    $thumb->readImage('https://localhost/'.$clean_post['image_path']); 
    ich habe auch schon rescherschiert und es mit userasswort@domain versucht jedoch mit den ergebnis,dass er dann das bild nicht mehr findet.

    weiß jemand woran das liegen könnte?

  • #2
    Stimmt der Pfad denn?

    (Also, kannst du ja auch ohne PHP im Browser testen.)

    Kommentar


    • #3
      ja er stimmt ich habe ihn in die adresszeile mit user : pass@localhost... eingefügt und das bild erscheint
      trotzdem kommt bei imagick:
      PHP-Code:
      Fatal errorUncaught exception 'ImagickException' with message 'Unable to read the file:... 

      Kommentar


      • #4
        Ich habe gerade nicht die Lust, das zum Test nachzubauen, aber ich würde mal das hier versuchen, wenn das eine Option ist:

        - http://php.net/manual/en/imagick.readimagefile.php

        Da kannst du ein „fopen“-Handle übergeben statt des Pfads. Beim Erzeugen des Handles hast du ein paar mehr Optionen.

        Vielleicht geht es schon so:

        PHP-Code:
        $opts = array (
                
        'http' => array (
                    
        'method' => 'GET',
                    
        'header' => 'Authorization: Basic ' base64_encode('username:password')
                )
        );
        $context stream_context_create($opts);
        $fp fopen($url'r'false$context); 

        Kommentar


        • #5
          das geht leider auch nicht,aber ich bin jetzt näher an der wurzel des Problems:
          PHP-Code:
          Warningunlink(): http does not allow unlinking in ...php 

          Kommentar


          • #6
            Schreib mal bitte den Code dazu den du bei "unlink();" angegeben hast?

            Falls es in etwa sowas ist:
            PHP-Code:
            unlink("http://www.google.de/"); 
            Kann das nicht funktionieren - unlink ist zum löschen von lokalen Dateien!
            Gruß,
            SebTM

            Kommentar


            • #7
              haste recht!
              ich dachte vielleicht hilft es wenn ich vorher die zu überschreibenden bilder lösche,aber imagick bleibt hart,es will nicht und schreibt weiterhin frech das es :
              PHP-Code:
               unable to open image 
              ist...

              bis dahin klappt es aber mit fopen:
              PHP-Code:
               $handle=fopen($clean_post['image_path'],'r');
                  
              $data=fread($handle,filesize($clean_post['image_path']));
                  
              fclose($handle);
                  
                  
              $thumb = new Imagick();

                  
              $thumb->readimageblob($data); 
              bei
              PHP-Code:
              $sub_path=substr($clean_post['image_path'],0,-4);
              $thumb->writeImage($sub_path.'_middle.jpg');//hier kommt :'unable to open image' 
              macht es schlapp,pfad stimmt !!!!!!!

              Kommentar


              • #8
                Was ist der Inhalt von "$clean_post['image_path']"?
                Gruß,
                SebTM

                Kommentar


                • #9
                  https://localhost/..../dateiname.jpg

                  Kommentar


                  • #10
                    Der HTTP-Wrapper unterstützt keinen Schreibzugriff.

                    - http://de1.php.net/manual/en/wrappers.http.php

                    Geh über das lokale Dateisystem.

                    Kommentar


                    • #11
                      nach langem hin und her war der pfad teilweise doch falsch und es geht jetzt mit $_SERVER['DOCUMENT_ROOT']

                      Kommentar

                      Lädt...
                      X