Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/02/2011, 15h51   #1
Invité de passage
 
Homme
Inscription : juillet 2009
Messages : 31
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juillet 2009
Messages : 31
Points : 2
Points : 2
Par défaut Type MIME - PHP

Bonjour,

je suis un peu désespéré au moment où j'envoi ce message car cela fait un moment que je cherche une fonction assez simple: retourner le type MIME d'un fichier externe ou interne via une chaîne (type "http://www.text.com/text.txt" par exemple).

Là vous me direz qu'il y a tout un tas de fonctions en PHP qui font ça, certes, mais rien ne marche.

La super nouvelle fonction trop bien construite de PHP donne ceci...

Code :
Fatal error: Call to undefined function finfo_open() in /home/***/public_html/test_curl.php on line 2
L'ancienne fonction obsolète donne ceci...

Code :
Fatal error: Call to undefined function mime_content_type() in /home/***/public_html/test_curl.php on line 2
Et maintenant je suis sensé trouvé quoi comme solution ? Je précise être chez un hébergeur en shared donc pas possible de changer la config PHP. J'ai inspecté et cette config contient ceci...

Code :
extension=php_mime_magic.dll
Qu'est-ce que je peux faire avec cette librairie ? Je suppose qu'elle contient quelque chose d'intéressant mais en cherchant sur le net je ne vois rien de clair...

Je pensais même récupérer le type MIME manuellement via les header/curl/je-ne-sais-quoi mais aucune idée de comment m'y prendre...

Quelqu'un aurait-il des réponses svp ? Merci de m'avoir lu
MaXOhBalle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 17h15   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
hello t'as quelle version de PHP ?, dans ton phpinfo comment s'appelle l'extension ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 18h05   #3
Invité de passage
 
Homme
Inscription : juillet 2009
Messages : 31
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juillet 2009
Messages : 31
Points : 2
Points : 2
PHP Version 5.3.3

Je trouve pas l'extension dans le phpinfo() -_-
MaXOhBalle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 18h10   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par MaXOhBalle Voir le message
PHP Version 5.3.3

Je trouve pas l'extension dans le phpinfo() -_-
chez ton hébergeur t'as accès au php.ini ? et c'est du windows ????
de toute façon si t'as pas fileinfo tu peux pas faire autrement
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 18h16   #5
Invité de passage
 
Homme
Inscription : juillet 2009
Messages : 31
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juillet 2009
Messages : 31
Points : 2
Points : 2
Tu viens de me faire réaliser un truc, j'ai jamais commandé de serveur sous windows (yavait le choix, j'ai prit Linux), j'm'en étais même pas rendu compte quoi...

Et sinon c'est une occurence du php.ini qu'on peut modifier et agit en plus du php.ini du serveur. Je ne sais pas techniquement comment ça fonctionne mais ça fonctionne.

Mon hebergeur va m'entendre...
MaXOhBalle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 18h19   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par MaXOhBalle Voir le message
Tu viens de me faire réaliser un truc, j'ai jamais commandé de serveur sous windows (yavait le choix, j'ai prit Linux), j'm'en étais même pas rendu compte quoi...

Et sinon c'est une occurence du php.ini qu'on peut modifier et agit en plus du php.ini du serveur. Je ne sais pas techniquement comment ça fonctionne mais ça fonctionne.

Mon hebergeur va m'entendre...
t'es chez qui ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 18h26   #7
Invité de passage
 
Homme
Inscription : juillet 2009
Messages : 31
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juillet 2009
Messages : 31
Points : 2
Points : 2
Shinjiru -_- ... Et je regrette beaucoup.
MaXOhBalle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 18h32   #8
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par MaXOhBalle Voir le message
Shinjiru -_- ... Et je regrette beaucoup.
ca donne quoi :
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 18h35   #9
Invité de passage
 
Homme
Inscription : juillet 2009
Messages : 31
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juillet 2009
Messages : 31
Points : 2
Points : 2
Code :
string(88) "Linux elfstone.ipeuro.net 2.6.18-028stab071.* #1 SMP Mon Sep 27 15:29:02 MSD 2010 x86_64"
Euh... ça veut dire que c'est sous Linux non ?

Je n'y comprends plus rien là, le php.ini peut pas s'appliquer au serveur dans ce cas. Comment se fait-il que ça marche alors (... je me demande même si ça marche vraiment finalement, c'est le support qui m'avait donné le truc.)

... j'comprends plus.

Edit: comme je suis un crétin, le phpinfo() retourne aussi Linux mais je sais pas lire, c'est la première ligne ^^
MaXOhBalle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 18h39   #10
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
donc t'es bien sous linux, maintenant fait :

Code :
var_export(get_loaded_extensions());
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 18h45   #11
Invité de passage
 
Homme
Inscription : juillet 2009
Messages : 31
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juillet 2009
Messages : 31
Points : 2
Points : 2
Code :
array ( 0 => 'Core', 1 => 'date', 2 => 'ereg', 3 => 'libxml', 4 => 'openssl', 5 => 'pcre', 6 => 'sqlite3', 7 => 'zlib', 8 => 'bcmath', 9 => 'bz2', 10 => 'calendar', 11 => 'ctype', 12 => 'curl', 13 => 'dom', 14 => 'hash', 15 => 'filter', 16 => 'ftp', 17 => 'gd', 18 => 'gettext', 19 => 'session', 20 => 'iconv', 21 => 'standard', 22 => 'json', 23 => 'mbstring', 24 => 'mcrypt', 25 => 'mysql', 26 => 'SPL', 27 => 'posix', 28 => 'Reflection', 29 => 'imap', 30 => 'mysqli', 31 => 'SimpleXML', 32 => 'soap', 33 => 'sockets', 34 => 'exif', 35 => 'tokenizer', 36 => 'xml', 37 => 'xmlreader', 38 => 'xmlrpc', 39 => 'xmlwriter', 40 => 'xsl', 41 => 'zip', 42 => 'cgi-fcgi', 43 => 'suhosin', 44 => 'PDO', 45 => 'pdo_sqlite', 46 => 'SQLite', 47 => 'pdo_mysql', 48 => 'SourceGuardian', 49 => 'ionCube Loader', )
Apparemment, pas de signe de vie de l'extension.

Mais dans ce cas, pourquoi ai-je un php.ini avec l'extension dedans, fourni par mon hébergeur même, et même pas adapté car c'est la config pour un php windowzé ? - j'ai envoyé un message au support au passage -

Et merci de t'occuper patiemment de mon cas, j'apprécie ^^
MaXOhBalle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 18h49   #12
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
t'es sur que t'as vraiment PHP 5.3 ???

Code :
var_dump(phpversion());
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 18h50   #13
Invité de passage
 
Homme
Inscription : juillet 2009
Messages : 31
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juillet 2009
Messages : 31
Points : 2
Points : 2
Oui quand même ^^, c'es écrit en gros sur le phpinfo(), je suis pas bourré à ce point
MaXOhBalle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 18h51   #14
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par MaXOhBalle Voir le message
Oui quand même ^^, c'es écrit en gros sur le phpinfo(), je suis pas bourré à ce point

et la Configure Command de ton phpinfo ca donne quoi ?
parce que la ta rien de PHP 5.3 (pas de phar ???)
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 19h48   #15
Invité de passage
 
Homme
Inscription : juillet 2009
Messages : 31
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juillet 2009
Messages : 31
Points : 2
Points : 2
Code :
'./configure' '--disable-fileinfo' '--disable-phar' '--enable-bcmath' '--enable-calendar' '--enable-exif' '--enable-ftp' '--enable-gd-native-ttf' '--enable-libxml' '--enable-magic-quotes' '--enable-mbstring' '--enable-pdo=shared' '--enable-soap' '--enable-sockets' '--enable-zip' '--prefix=/usr' '--with-bz2' '--with-curl=/opt/curlssl/' '--with-curlwrappers' '--with-freetype-dir=/usr' '--with-gd' '--with-gettext' '--with-imap=/opt/php_with_imap_client/' '--with-imap-ssl=/usr' '--with-jpeg-dir=/usr' '--with-kerberos' '--with-libdir=lib64' '--with-libexpat-dir=/usr' '--with-libxml-dir=/opt/xml2' '--with-libxml-dir=/opt/xml2/' '--with-mcrypt=/opt/libmcrypt/' '--with-mm=/opt/mm/' '--with-mysql=/usr' '--with-mysql-sock=/var/lib/mysql/mysql.sock' '--with-mysqli=/usr/bin/mysql_config' '--with-openssl=/usr' '--with-openssl-dir=/usr' '--with-pcre-regex=/opt/pcre' '--with-pdo-mysql=shared' '--with-pdo-sqlite=shared' '--with-pic' '--with-png-dir=/usr' '--with-sqlite=shared' '--with-xmlrpc' '--with-xpm-dir=/usr' '--with-xsl=/opt/xslt/' '--with-zlib' '--with-zlib-dir=/usr'
Voilà, je sais pas trop pourquoi il y a rien, je précise que je suis sur un serveur tout récent c'est peut-être la raison...
MaXOhBalle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 19h58   #16
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par MaXOhBalle Voir le message
Code :
'./configure' '--disable-fileinfo' '--disable-phar' '--enable-bcmath' '--enable-calendar' '--enable-exif' '--enable-ftp' '--enable-gd-native-ttf' '--enable-libxml' '--enable-magic-quotes' '--enable-mbstring' '--enable-pdo=shared' '--enable-soap' '--enable-sockets' '--enable-zip' '--prefix=/usr' '--with-bz2' '--with-curl=/opt/curlssl/' '--with-curlwrappers' '--with-freetype-dir=/usr' '--with-gd' '--with-gettext' '--with-imap=/opt/php_with_imap_client/' '--with-imap-ssl=/usr' '--with-jpeg-dir=/usr' '--with-kerberos' '--with-libdir=lib64' '--with-libexpat-dir=/usr' '--with-libxml-dir=/opt/xml2' '--with-libxml-dir=/opt/xml2/' '--with-mcrypt=/opt/libmcrypt/' '--with-mm=/opt/mm/' '--with-mysql=/usr' '--with-mysql-sock=/var/lib/mysql/mysql.sock' '--with-mysqli=/usr/bin/mysql_config' '--with-openssl=/usr' '--with-openssl-dir=/usr' '--with-pcre-regex=/opt/pcre' '--with-pdo-mysql=shared' '--with-pdo-sqlite=shared' '--with-pic' '--with-png-dir=/usr' '--with-sqlite=shared' '--with-xmlrpc' '--with-xpm-dir=/usr' '--with-xsl=/opt/xslt/' '--with-zlib' '--with-zlib-dir=/usr'
Voilà, je sais pas trop pourquoi il y a rien, je précise que je suis sur un serveur tout récent c'est peut-être la raison...
arf :
'--disable-fileinfo' '--disable-phar'
pour bien faire chier le monde...

désolé, a part leur demandé le pourquoi du comment ca va pas être possible
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 23h34   #17
Invité de passage
 
Homme
Inscription : juillet 2009
Messages : 31
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juillet 2009
Messages : 31
Points : 2
Points : 2
J'suis vraiment aveugle aujourd'hui, c'est genre tous les premiers trucs qu'on peut lire dans le phpinfo() que tu me fais réaliser ^^

Oui, je vais leur demander, merci
MaXOhBalle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 23h41   #18
Invité de passage
 
Homme
Inscription : juillet 2009
Messages : 31
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juillet 2009
Messages : 31
Points : 2
Points : 2
Grande nouvelle ! Après une nuit acharnée de recherche et quelques heures de méditation j'ai enfin trouver un système pour récupérer le type MIME sans faire intervenir cURL ou je ne sais quoi... Et c'est vraiment très simple, j'ai été étonné en codant ça.

Code :
1
2
3
4
5
function recup_header($url) { return get_headers($url, 1); }
 
$header_array = recup_header('http://mon_url.com/monfichier.txt');
 
echo $header_array['Content-Type'];
Voilà, ça peut en fait être réduit à une simple ligne de code. Pour tout ceux qui passeraient par là, je leur évite des recherches inutiles

Merci beaucoup stealth35 pour ton aide quand même
MaXOhBalle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 10h04   #19
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par MaXOhBalle Voir le message
Grande nouvelle ! Après une nuit acharnée de recherche et quelques heures de méditation j'ai enfin trouver un système pour récupérer le type MIME sans faire intervenir cURL ou je ne sais quoi... Et c'est vraiment très simple, j'ai été étonné en codant ça.

Code :
1
2
3
4
5
function recup_header($url) { return get_headers($url, 1); }
 
$header_array = recup_header('http://mon_url.com/monfichier.txt');
 
echo $header_array['Content-Type'];
Voilà, ça peut en fait être réduit à une simple ligne de code. Pour tout ceux qui passeraient par là, je leur évite des recherches inutiles

Merci beaucoup stealth35 pour ton aide quand même
Même si t'as l'impression que ca marche, faut savoir que le MIME est quelque chose de bidon, apache par défaut prendre juste l'extension et te donne le MIME qui correspond, tu renommes un PDF en TXT il va te dire que c'est un TXT...
Sauf avec le module mime magic c'est se qu'utilise fileinfo de PHP (la libmagic) qui lui va va recupere quelque info dans le fichier pour lui donnée son MIME
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h37.


 
 
 
 
Partenaires

Hébergement Web