Publié le 27/05/2011
Auteur fobec
Réseaux sociaux
0 partages
0 tweets
0 plus
0 commentaires

Extraire l'extension d'un fichier

Comment extraire l'extension d'un fichier en PHP ?
Lors d'un upload de fichier ou d'un filtre sur une liste, on peut être amener à déterminer l'extension d'un fichier. La class FileGetExtension présente 3 méthodes pour extraire l'extension:
- method_substr(): copier les caractères de la position du dernier '.' jusqu'à la fin de l'url,
- method_explode(): prendre le dernier élément du tableau,
- method_pathinfo(): fonction PHP disponible depuis PHP 4.0.3.

Trouver le type de fichier

La class utilise le nom du fichier pour déterminer son type, par exemple, un fichier ayant une extension .gif est une image au format GIF.
Attention, la méthode n'est pas infaillible. En effet, une extension de fichier peut être modifiée par erreur ou intentionnellement. Utilisez la class pour faire un premier tri puis analysez le contenu pour s'assurer du format du fichier.
<?php
/******************************************************************************
 * Extraire l'extension d'un fichier
 * @copyright Fobec 2011
 ******************************************************************************/
class FileGetExtension {
 
    /**
     * rechercher la position du dernier point dans l'url
     * @return string
     */
    static public function method_substr($filename) {
        $p= strrpos($filename, '.');
        if ($p!==false) {
            return substr($filename, $p   1);
        }
        return null;
    }
 
    /**
     * dernier élément d'un tableau de chaine
     * @return string
     */
    static public function method_explode($filename) {
        $split=explode('.',$filename);
        if (count($split)>1) {
            return $split[count($split)-1];
        }
        return null;
    }
 
    /**
     * fonction PHP pathinfo()
     * @return string
     */
    static public function method_pathinfo($filename) {
        return pathinfo($filename, PATHINFO_EXTENSION);
    }
}
?>

Utilisation de la class

<?php
echo FileGetExtension::method_substr('/path1/picture.gif');
-> gif
 
echo FileGetExtension::method_explode('/path1/class.php');
-> php
 
echo FileGetExtension::method_pathinfo('/path1/frame.tpl');
-> tpl
?>

Quelle méthode choisir ?
Les 3 méthodes peuvent être utilisées pour extraire l'extension d'un fichier. Etant intégré au PHP Core, la fonction pathinfo() semble la manière la plus sûr et fiable. En terme de performance, la fonction method_substr() devrait être la plus rapide.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
php5 - class
Mise a jour
27/05/2011
Visualisation
vu 2227 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 261 articles
|BIO_PSEUDO|
Commentaires récents

Publié par etoiliste010 dans java

BONSOIR le code compile mais
Grave: null
com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first. gd4sm1845967wib.6

at com.sun.mail.smtp.SMTPTransport.i...

Publié par Fobec dans java

As-tu essaye sans le parametre de la cle ?
(supprimer la ligne url += "&key=" + this.ApiKey;)
A priori, cela fonctionne sans aucune authentification sur l'api ;)

Publié par FOBEC dans CMS

Un chronomètre, des challenges et l'affichage des meilleurs scores sont prévus. Si ça vous intéresse, laissez moi un p'tit mot !!!

Publié par Patrice dans CMS

Concernant la commande ShellExecute :

Si vous voulez lancer un programme dont le nom est contenu dans une propriété text,
caption, items bref d\'un string ... n'oubliez pas de transfor...

Publié par Fobec dans tuto

Pour la distribution Linux Mint 12 Lisa, saisir dans le terminal:
# sudo service lightdm restart