Avec le dernier wamp5 (Apache/2.2.4 (Win32) PHP/5.2.3) j'essaie d'utiliser finfo_open
Malgré la lecture de
http://pecl.php.net/bugs/bug.php?id=7555
et
http://www.developpez.net/forums/sho...ght=finfo_open
je n'arrive pas à faire fonctionner le code suivant !!
Code : Tout sélectionner
<?php
$name="./sample/message.eml";
if( file_exists($name) ) {
echo "yes";
/* 1° type d'essai */
$finfo = finfo_open(FILEINFO_MIME,"C:/wamp/php/extras/magic"); // Retourne le type mime à la extension mimetype
$mime=finfo_file($finfo, $name);
finfo_close($finfo);
echo $mime;
// 2° type d'essai
/*
$o = file_get_contents($name);
$finfo = new finfo(FILEINFO_MIME, 'C:/wamp/php/extras/magic');
echo $finfo->buffer($o);
*/
} else {
echo "nop";
} ?>D'avance, merci pour vos suggestions.yes
Warning: finfo_file(): supplied argument is not a valid file_info resource in C:\wamp\moi\graal_travail\exemples_applicatifs\mimeparser-2007-07-20\test\magic_01.php on line 7
Warning: finfo_close(): supplied argument is not a valid file_info resource in C:\wamp\moi\graal_travail\exemples_applicatifs\mimeparser-2007-07-20\test\magic_01.php on line 8
Suite :
Bonsoir,
en fait, rien à voir avec l'extension php_mime_magic mais tout à voir avec l'extension php_fileinfo.
En faisant le tout des popotes, et en collectionnant tout ce qui se trouvait dans les conversations suivantes
http://pecl.php.net/bugs/bug.php?id=10259
http://pecl.php.net/bugs/bug.php?id=10565
http://pecl.php.net/bugs/bug.php?id=7391
http://pecl.php.net/bugs/bug.php?id=7555
j'ai pu m'en tirer à savoir :
- mettre dans le répertoire "C:/wamp/php/extras/", à la place du magic.mime existant les 4 fichiers "magic.mime, magic.mime.mgc, magic, magic.mgc" contenus dans le répertoire share/file du fichier "file-4.21-bin.zip" à télécharger ici http://sourceforge.net/project/showfile ... e_id=18878
- ne pas nommer dans le finfo_open le fichier "magic.mime" mais seulement le fichier "magic"
- traiter le fichier avec son nom complet "$mime=finfo_file($finfo, realpath($name));" au lieu de $mime=finfo_file($finfo, $name);
A part ça c'est assez simple d'utilisation avec wamp !!!!!
J'espère que les distrib linux sont pas aussi lourdes !!!
voici un script qui fonctionne chez moi
Code : Tout sélectionner
<?php
$name="./sample/message.eml";
if( file_exists($name) ) {
$finfo = finfo_open(FILEINFO_MIME,"C:/wamp/php/extras/magic");
var_dump($finfo);
$mime=finfo_file($finfo, realpath($name));
finfo_close($finfo);
echo $mime;
} else {
echo "nop";
}
?>
Code : Tout sélectionner
<?php
$finfo = finfo_open(FILEINFO_MIME,"C:/wamp/php/extras/magic");
foreach (glob("*") as $filename) {
echo $filename . "<br />";
echo realpath($filename) . "<br />";
echo finfo_file($finfo, realpath($filename)) . "<br />";
}
finfo_close($finfo);
?>