Archives de catégorie : Informatique

Explications, démo…

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é.

     

    Fichier proxy.php

    Dans notre « Guide complet AJAX« , nous proposons un proxy virtuel en ASP permettant de « faire croire » que les données viennent du serveur qui heberge les sources JS alors qu’elles viennent d’internet. Plus qu’un proxy, c’est juste un miroir…

    Des lecteurs m’ont demandé à plusieurs reprises l’equivalent en PHP, voila le code :

    L’url suivante le montre en action : https://brico-info.com/proxy.php?url=http://www.google.fr (les images ne sont pas visibles justement parce qu’elles sont en url relative)

    Le parametre « nature » permet de renforcer l’entete du content-type, son utilisation est optionnelle.

    1. $_url = $_GET[‘url’];
    2. $_nature = $_GET[‘nature’];
    3.  
    4. $handle = fopen($_url, « rb »);
    5. $contents =  »;
    6. while (!feof($handle)) {
    7.     $contents .= fread($handle, 8192);
    8. }
    9.  
    10. //gestion des entetes
    11. if ($_nature==‘XML’)
    12.         header(« Content-type: text/xml »);
    13. elseif ($_nature==‘HTML’)
    14.         header(« Content-type: text/html »);
    15.  
    16. //on affiche la page
    17. print_r($contents);
    18.  
    19. fclose($handle);
    20. ?>