IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Type MIME - PHP


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 31
    Points : 13
    Points
    13
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    hello t'as quelle version de PHP ?, dans ton phpinfo comment s'appelle l'extension ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 31
    Points : 13
    Points
    13
    Par défaut
    PHP Version 5.3.3

    Je trouve pas l'extension dans le phpinfo() -_-

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    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

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 31
    Points : 13
    Points
    13
    Par défaut
    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...

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    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 ?

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 31
    Points : 13
    Points
    13
    Par défaut
    Shinjiru -_- ... Et je regrette beaucoup.

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par MaXOhBalle Voir le message
    Shinjiru -_- ... Et je regrette beaucoup.
    ca donne quoi :

  9. #9
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 31
    Points : 13
    Points
    13
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ^^

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    donc t'es bien sous linux, maintenant fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_export(get_loaded_extensions());

  11. #11
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 31
    Points : 13
    Points
    13
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ^^

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    t'es sur que t'as vraiment PHP 5.3 ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump(phpversion());

  13. #13
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 31
    Points : 13
    Points
    13
    Par défaut
    Oui quand même ^^, c'es écrit en gros sur le phpinfo(), je suis pas bourré à ce point

  14. #14
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    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 ???)

  15. #15
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 31
    Points : 13
    Points
    13
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    './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...

  16. #16
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par MaXOhBalle Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    './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

  17. #17
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 31
    Points : 13
    Points
    13
    Par défaut
    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

  18. #18
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 31
    Points : 13
    Points
    13
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  19. #19
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/06/2010, 09h54
  2. [XML] Interpréter du PHP dans du XSL => Erreur Type Mime
    Par Troopers dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 13/01/2009, 17h04
  3. prob as2 / mail php avec type mime x-3w-form-urlencoded
    Par memess dans le forum ActionScript 1 & ActionScript 2
    Réponses: 4
    Dernier message: 12/11/2008, 23h07
  4. [type MIME] css généré par php -> probleme
    Par prgasp77 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 23/09/2004, 21h13
  5. [struts] déterminer le type Mime d'un fichier
    Par k4eve dans le forum Struts 1
    Réponses: 4
    Dernier message: 14/06/2004, 10h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo