Récupération de l’extension d’un fichier asp.net, asp, vbscript, php et javascript

Voilà une synthèse des fonctions de l’on trouve sur le net pour recuperer l’extension d’un fichier.

en asp.net

  1. Dim fichier As String = « D:\sites\images\image.gif »
  2. Dim extension As String
  3. Dim indexPoint As Integer = fichier.LastIndexOf(« . »)
  4.  
  5. If indexPoint <> -1 Then
  6.    extension = fichier.Substring(index) + 1
  7. Else
  8.    MsgBox(« Fichier sans extension »)
  9. End If

en asp

  1. fichier = « D:\sites\images\image.gif »
  2. if InStrRev(fichier,« . ») > 0 then
  3.         response.write Mid(fichier,InStrRev(fichier,« . »)+1,len(fichier))
  4. else
  5.         response.write(« Fichier sans extension »)
  6. end if

    en php

    1. // Exemple de nom de fichier dont
    2. // on souhaite récupéré l’extension
    3. $filename=‘D:\sites\images\image.gif’;
    4.  
    5. // A ce stade $extension vaudra « .gif »
    6. $extension=strrchr($filename,‘.’);
    7.  
    8. // Comme le point ne vous intéresse pas
    9. // forcément on le supprime
    10. if($extension!==FALSE)
    11.         echo « L’extension du fichier $filename est $extension »;
    12. else
    13.         echo « Fichier sans extension »;

    et en javascript

    1. var fic = ‘D:\sites\images\image.gif’;
    2. var tabfic=fic.substring(fic.lastIndexOf(« \\« )+1).split(« . »);
    3. if (tabfic.length>0)
    4.         var ext = tabfic[tabfic.length-1];
    5. else
    6.         alert(‘Fichier sans extension’);

    Ensuite, vous la comparez à une liste des extension autorisée ou interdite (genre http://www.om-conseil.com/article.php?sid=165 mais attention, cette liste est la liste des extensions que bloque Outlook ce n’est pas forcement la même pour un serveur web par exemple) et votre serveur est protégé.

     

    Un commentaire

    1. En asp.net (même en .NET en général), tu peux aussi récuperer l’extension d’un fichier en faisant

      System.IO.Path.GetExtension(nomFichier)

    Répondre à Olivier Payen Annuler la réponse

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *