如何在photo-uploader中允许大写文件扩展名?

时间:2014-01-18 20:33:24

标签: php photo uppercase uploader

我正在尝试优化我的照片上传器,以便它允许所有文件扩展名,包括大写.JPG / .JPEG或.PNG

我一直试图将strtolower()放在$ extension变量上,没有运气。还有很多其他解决方案,没什么用。这是我过滤扩展名的地方:

刚刚安装了exif和mbstrings .dll ..现在我收到了这个错误:

“exif_imagetype()filename不能为空”

   // FILE EXTENSION FILTER     
   $allowed_types = array(IMAGETYPE_GIF,IMAGETYPE_JPEG,IMAGETYPE_PNG);
   if(in_array(exif_imagetype($_FILES["uploaded_file"]["tmp_name"]), $allowed_types)){

         // SUCCSESFUL

任何帮助都是非常有用的!我一直试图让这项工作持续数小时:D

2 个答案:

答案 0 :(得分:1)

在检查前使用strtolower()函数进行小写扩展;

     // FILE EXTENSION FILTER       
     $allowedExts = array("gif", "jpeg", "jpg", "png");
     $temp = explode('.',$_FILES['uploaded_file']['name']);       
     $extension = end($temp);

                if ((($_FILES["uploaded_file"]["type"] == "image/gif")
                || ($_FILES["uploaded_file"]["type"] == "image/jpeg")
                || ($_FILES["uploaded_file"]["type"] == "image/jpg")
                || ($_FILES["uploaded_file"]["type"] == "image/pjpeg")
                || ($_FILES["uploaded_file"]["type"] == "image/x-png")
                || ($_FILES["uploaded_file"]["type"] == "image/png"))
                && ($_FILES["uploaded_file"]["size"] < 10485760)
                && in_array(strtolower($extension), $allowedExts))
                {
                    // SUCCSESFUL

答案 1 :(得分:0)

我在我制作的网站上做了类似的事情。这是我的解决方案。

$file_name = $_FILES['file']['name'];
if ($_FILES['file']['size']>$maxsize) $status = "Error: Picture size too large. Max file     size is $maxsize bytes.<br>";

if (($_FILES['file']['type']!="image/gif") && ($_FILES['file']['type']!="image/pjpeg") && ($_FILES['file']['type']!="image/jpeg") && ($_FILES['file']    ['type']!="image/png")){
$status .= "Error: Wrong file type. Must be JPG or GIF or PNG only.<br>";
}



$picextorg = substr($file_name,-3);
$picext = strtolower($picextorg);

if ((!isset($status)) && ($picext!="gif")&& ($picext!="jpg") && ($picext!="png"))    $status .= "Error: The Wrong file type. Must be JPG or GIF or PNG only.<br> ";

我认为用你的代码实现它并不是很难。让我知道它是怎么回事!