görüntüleri jpg ise php kontrol

4 Cevap php

i resim jpg olup olmadığını kontrol etmek sorunu

if ($_FILES["fname"]["error"] > 0) {

      **$imgData = " hyperlink /holder.jpg";**
      }

 else {
   $imgData ="hyperlink/".$_FILES["fname"]["name"];

}

// only accept jpg images pjpeg is for Internet Explorer.. should be jpeg

   if (!($_FILES["fname"]["type"] == "image/pjpeg") ) {

      print "I only accept jpg files!";

      exit(0);
       }

statmenet (kalın bir) her zaman verirseniz o ilk ilk statment gittiğinde ben sadece jpg dosyaları kabul!

i nasıl düzeltebilirim?

advancee teşekkürler

4 Cevap

exif_imagetype görüntü fonksiyonu sahipsiniz.

Örnek:

if(exif_imagetype($filepath) != IMAGETYPE_JPEG){
    echo 'Not a JPEG image';
}

PHP sizin app kısıtlama neden acaba, böyle iyi görüntü tipi desteği vardır. Kod sadece birkaç satır içinde herhangi bir giriş biçimi ile başa ve bu bir gereklilik ise, jpeg dönüştürmek ...

$im = imagecreatefrompng(input_filename)
imagejpeg($im, output_filename);

$ _FILES Kullanırken, (eğer yanlış hatırlamıyorsam, $ _FILES, her zaman aynı değil gördüm ve yapılacak en iyi şey değil istemci tarafından gönderilen bilgiler üzerinde güvenmek ['...'] ['type']) sahte olabilir

(Veya PECL paketleri kurabilirsiniz)> = 5.3 PHP kullanıyorsanız, belki uzantısı bir görünüm verebilirsiniz Fileinfo. Eğer eski bir sürümünü kullanıyorsanız, ne mime_content_type ?

Scott tarafından dedi ve, neden sadece jpeg izin?

Looking about the code better : when you are in the first case (error > 0), you are assigning a default file to $imgData ? Why the spaces arround "hyperlink" ? And why do you always use to check the content-type, even if there was an error a couple of lines before ?

Bitirmek için, kılavuzda bir göz yoktu (Handling file uploads)?

Neden istisnalar bir dizi (Eğer kullanıcı yüklemek mümkün olmak istiyorum dosyaları) oluşturma çalışmayın.

// Hyperlink for your website
$hyperlink = "http://www.yourwebsitehere.com";

if($_FILES['fname']['error'] > 0)
{
    $image= $hyperlink . "/holder.jpg";
} 
else
{
    $image = $hyperlink . "/" . $_FILES['fname']['name'];
}

// Only accept files of jpeg format
$exceptions = array("image/jpg", "image/jpeg", "image/pjpeg");

foreach($exceptions as $value)
{
    if($_FILES['fname']['type'] != $value)
    {
        echo "I only accept jpeg images!";
        break; // Or exit();
    }
}