2010-08-01 18 views
0

Je voudrais tester si les images * .ico sont des icônes valides en PHP. J'ai essayé d'utiliser la fonction getimagesize mais elle ne supporte pas les fichiers ICO.Comment détecter si le fichier * .ico est une icône valide en PHP

+0

Qu'est-ce qu'une icône valide dans vos termes? – Gumbo

+0

Je dois les vérifier parce que j'ai téléchargé du net avec CURL et ils sont parfois 404 pages. Donc les fichiers HTML au lieu de l'image réelle. – chubbyk

Répondre

1

ico sont principalement des fichiers d'image, si vous modifiez un jpeg ou gif/png dans l'extension ico il fonctionne très bien, donc si vous gardez le type d'image cheking il fera le travail

+0

ou vous pouvez vérifier le type mime qui est "image/x-icon" – dip1232001

+0

ce n'est pas ce que je veux, je dois les vérifier parce que j'ai téléchargé certains de net avec CURL et ils sont parfois 404 pages – chubbyk

+0

je n'ai pas vous avez, je suppose que vous avez téléchargé icos d'internet certains d'entre eux sont corrompus mais toujours montrant comme fichiers ico, dans ce cas vérifier le type mime pour "image/x-icon" – dip1232001

0

https://github.com/lordelph/icofileloader est un paquet compositeur-installable pour la lecture de fichiers Ico. Pour vérifier et inspecter un fichier .ico, vous pouvez adapter cet exemple:

$loader = new Elphin\IcoFileLoader\IcoFileService; 

//parse ico file 
try { 
    $icon = $loader->fromFile('/path/to/icon.ico'); 

    //we can iterate over the images in the icon 
    foreach ($icon as $idx => $image) { 
     printf("image %d is %s\n", $idx, $image->getDescription()); 
    } 
} 
catch (\Exception $e) { 
    echo "not a valid .ico file"; 
}