Question:
When developing a PHP application that handles various file types, how can one determine the MIME type of a requested file using the REQUEST_URI?
Answer:
Option 1: File Extension
A simple approach is to check the file extension in the requested URI. For example:
$ext = pathinfo($_SERVER['REQUEST_URI'], PATHINFO_EXTENSION); switch ($ext) { case "jpg": case "jpeg": $mime = "image/jpeg"; break; case "png": $mime = "image/png"; break; // ... }
Option 2: exif_imagetype (For Images)
If you're certain you're only handling images, you can leverage the exif_imagetype() function to determine the MIME type of images.
$type = exif_imagetype($_SERVER['REQUEST_URI']); switch ($type) { case IMAGETYPE_JPEG: $mime = "image/jpeg"; break; case IMAGETYPE_PNG: $mime = "image/png"; break; // ... }
Option 3: getID3 (External Dependency)
For more advanced file type detection, consider using the getID3 library, which supports a wide range of file types.
Option 4: mime_content_type (Deprecated)
The mime_content_type() function is deprecated and should be avoided. Use the Fileinfo PECL extension instead.
The above is the detailed content of How Can I Determine the MIME Type of a File in PHP Using REQUEST_URI?. For more information, please follow other related articles on the PHP Chinese website!