Issue #28228: imghdr now supports pathlib
diff --git a/Doc/library/imghdr.rst b/Doc/library/imghdr.rst
index f11f6dc..800e919 100644
--- a/Doc/library/imghdr.rst
+++ b/Doc/library/imghdr.rst
@@ -20,6 +20,9 @@
    string describing the image type.  If optional *h* is provided, the *filename*
    is ignored and *h* is assumed to contain the byte stream to test.
 
+   .. versionchanged:: 3.6
+      Accepts a :term:`path-like object`.
+
 The following image types are recognized, as listed below with the return value
 from :func:`what`:
 
diff --git a/Lib/imghdr.py b/Lib/imghdr.py
index b267925..76e8abb 100644
--- a/Lib/imghdr.py
+++ b/Lib/imghdr.py
@@ -1,5 +1,7 @@
 """Recognize image file formats based on their first few bytes."""
 
+from os import PathLike
+
 __all__ = ["what"]
 
 #-------------------------#
@@ -10,7 +12,7 @@
     f = None
     try:
         if h is None:
-            if isinstance(file, str):
+            if isinstance(file, (str, PathLike)):
                 f = open(file, 'rb')
                 h = f.read(32)
             else:
diff --git a/Lib/test/test_imghdr.py b/Lib/test/test_imghdr.py
index b54daf8..476ba95 100644
--- a/Lib/test/test_imghdr.py
+++ b/Lib/test/test_imghdr.py
@@ -1,6 +1,7 @@
 import imghdr
 import io
 import os
+import pathlib
 import unittest
 import warnings
 from test.support import findfile, TESTFN, unlink
@@ -49,6 +50,12 @@
             self.assertEqual(imghdr.what(None, data), expected)
             self.assertEqual(imghdr.what(None, bytearray(data)), expected)
 
+    def test_pathlike_filename(self):
+        for filename, expected in TEST_FILES:
+            with self.subTest(filename=filename):
+                filename = findfile(filename, subdir='imghdrdata')
+                self.assertEqual(imghdr.what(pathlib.Path(filename)), expected)
+
     def test_register_test(self):
         def test_jumbo(h, file):
             if h.startswith(b'eggs'):
diff --git a/Misc/NEWS b/Misc/NEWS
index 62fc004..d3983f2 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -46,6 +46,8 @@
 Library
 -------
 
+- Issue #28228: imghdr now supports pathlib.
+
 - Issue #28226: compileall now supports pathlib.
 
 - Issue #28314: Fix function declaration (C flags) for the getiterator() method