2013-08-28 1 views
0

В PHP У меня есть код для загрузки файлов, как этоPHP загрузить файл с типом проверки

$image_name= $_FILES['file']['name']; 
    $allowedExts = array("gif", "jpeg", "jpg", "png"); 
    $temp = explode(".", $_FILES["file"]["name"]); 
    $extension = end($temp); 
    if ((($_FILES["file"]["type"] == "image/gif") 
    || ($_FILES["file"]["type"] == "image/jpeg") 
    || ($_FILES["file"]["type"] == "image/jpg") 
    || ($_FILES["file"]["type"] == "image/pjpeg") 
    || ($_FILES["file"]["type"] == "image/x-png") 
    || ($_FILES["file"]["type"] == "image/png")) 
    && in_array($extension, $allowedExts)) { 
    if ($_FILES["file"]["error"] > 0) { 
     echo "Return Code: " . $_FILES["file"]["error"] . "<br>"; 
    } 
    else { 
    move_uploaded_file($_FILES['file']['tmp_name'], $tmpName.$image_name); 
    } 
    } 

Сейчас этот код работает отлично, когда я делаю загрузку. Но это не работает с проверкой типа файла. Я использовал $allowedExts = array("gif", "jpeg", "jpg", "png"); to use only these types of file to upload. But this one is uploading any files type. So can someone kindly tell me where is the wrong part here. I want to upload only Файлы «gif», «jpeg», «jpg», «png». Любая помощь и предложения будут действительно оценены. Благодарю.

ответ

0

Я помню, что раньше у меня была проблема с файлами, и я не мог ее решить, поэтому решил продолжить что-то еще. Это был один из моих способов проверить, были ли загруженные файлы раньше «изображениями». Я не думаю, что отличный способ проверить, действительно ли файл является образом, но он действительно работал для меня, и к тому времени я не мог придумать что-либо еще.

<?php 
    if(isAnImage($routetoyourfile)) { 
     //Move the file 
    } else { 
     //Delete it 
    } 
    function isAnImage($fileroute) { 
     $ext = pathinfo($fileroute, PATHINFO_EXTENSION); 
     if($ext != "jpg" && $ext != "jpeg" && $ext != "png" && $ext != "JPG" && $ext != "PNG" && $ext != "JPEG") { 
      return 0; 
     } else { 
      return 1; 
     } 
    } 
?> 
Смежные вопросы