Impossible d'utiliser l'extension php_mime_magic
Posté : 03 août 2007, 19:49
Bonjour,
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 !!
J'ai ce retour :
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
et un second qui fonctionne aussi !!
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);
?>