Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Wie bekomme ich die Datei Type eines Bildes

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Wie bekomme ich die Datei Type eines Bildes

    Hallo

    Weiss den jemand wie ich einfach an die Datei "Type" eines Bildes von einer externen Url bekomme? Wie z.B. jpg, png, etc

    Bei einer normalen Url wie z.B.:

    domain/bildname.jpg

    Gibt es ja verschieden methoden wie:
    PHP-Code:
    $pathinfo pathinfo($url);
    echo 
    $pathinfo['extension'];

    //oder
    $file = new SplFileInfo($url);
    echo 
    $file->getExtension();

    //oder
    function getFileType($name) {
        return (
    false === ( $p strrpos($name'.') ) ? '' substr($name, ++$p));

    Doch habe ich nun eine Bild-Url ohne die Endung (domain/bildname) klappt dies leider nicht mehr.


    Edit:
    Habe einen Weg gefunden:
    PHP-Code:
    image_type_to_mime_type(exif_imagetype('url')); 


  • #2
    Weiss den jemand wie ich einfach an die Datei "Type" eines Bildes von einer externen Url bekomme?
    Es heißt der. Der Dateityp.

    Und die Antwort ist: Gar nicht. „Externe Url's“ unterstützen die pathinfo-Geschichten nicht.
    --

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      Eine Möglichkeit wäre die Datei byteweise einzulesen und in den ersten Bytes den Dateityp auszulesen.
      GitHub.com - ChrisAndChris - RowMapper und QueryBuilder für MySQL-Datenbanken

      Kommentar


      • #4
        Es heißt der. Der Dateityp.
        Ah sorry Nikosch, nächstes Mal passe ich besser auf. Wollte vorher eben etwas anderes schreiben.

        Eine Möglichkeit wäre die Datei byteweise einzulesen und in den ersten Bytes den Dateityp auszulesen.
        Danke für den zusätzlichen Tip. Habe jedoch schon einen einfachen Weg gefunden.

        PHP-Code:
        image_type_to_mime_type(exif_imagetype('domain/bildname')); 

        Kommentar


        • #5
          Zitat von strub Beitrag anzeigen
          PHP-Code:
          image_type_to_mime_type(exif_imagetype('domain/bildname')); 
          Den Content-Type per get_headers() holen und diesen prüfen? Ich habe nicht getestet ob exif_imagetype() vielleicht die komplette Datei einliest und so für deinen Anwendungsfall zuviel Daten überträgt.

          PHP-Code:
          $url 'http://www.example.com/test.jpg';
          $headers get_headers($urltrue);
          var_dump($headers['Content-Type']); 

          Kommentar


          • #6
            Ich habe nicht getestet ob exif_imagetype() vielleicht die komplette Datei einliest und so für deinen Anwendungsfall zuviel Daten überträgt.
            Laut Dokumentation nicht so wie ich das verstehe.

            exif_imagetype() liest die ersten bytes des Bildes aus und überprüft dessen Signatur.... - Der Rückgabewert ist derselbe, der auch von getimagesize() als Index 2 zurückgegeben wird, nur ist exif_imagetype() deutlich schneller.

            Kommentar

            Lädt...
            X