我有一个在PHP 5.3.28上运行的laravel 4.1项目,我试图找到一种方法来从某个图像中获取文件扩展名,每当我使用guessExtension()
时都会失败:
$format = Input::file('image')->guessExtension();
我尝试上传的其他所有图片使用guessExtension()
都没有问题,但似乎Symphony无法识别此特定图片的mimeType
:
object(Symfony\Component\HttpFoundation\File\UploadedFile)[9]
private 'test' => boolean false
private 'originalName' => string 'herewithme.png' (length=14)
private 'mimeType' => string 'application/octet-stream' (length=24)
private 'size' => int 0
private 'error' => int 1
并且我的应用程序失败并显示以下消息:
The file "" does not exist
我在考虑做this之类的事情:
$filename = Input::file('image')->getClientOriginalName();
if(strpos($filename, '.png') !== false)
{
$format = 'png';
}
elseif(strpos($filename, '.jpg') !== false)
{
$format = 'jpg';
}
但是,我担心一个文件可能会导致问题被pdf.png.jpg
(或其他类似的东西)的随机情况,所以我对获取文件犹豫不决格式化这种方式。谁能想到更好的方法来做到这一点?
答案 0 :(得分:0)
你可以用substr。
来做
You can try $ext = substr($filename,-4);
答案 1 :(得分:-1)
也许试试:
Input::file('image')->getClientMimeType();
或
Input::file('image')->getMimeType();