Accueil > > > LISTER UN REPERTOIRE, VISUALISER UN FICHIER (MODE TXT), EFFACER UN FICHIER (JSCRIPT) CORRIGER
LISTER UN REPERTOIRE, VISUALISER UN FICHIER (MODE TXT), EFFACER UN FICHIER (JSCRIPT) CORRIGER
Information sur la source
Description
Ce code permet 3 choses : - Lister un repertoire du serveur. - Visualiser les fichiers du repertoire en mode texte - Effacer un fichier. au moyen de 2 fichiers asp - lstfile_log.asp - readfile.asp Le code est ecrit en JSCRIPT.
Source
- <%
- /* ***************************************************************************
- *************** LE FICHIER lstfile_log.asp ***************
- *************************************************************************** */
- %>
-
- <%@ Language=JScript %>
- <%
- /* **************************************************************************
- Cette page permet de lister les fichiers dans un repertoire
- un maximum de cst_MaxFiles fichiers peuvent être listés.
-
- **************************************************************************
- language : Jscript (tester sur XP pro, jsript version 5)
- **************************************************************************
- Auteur : D.HIVERT (septembre 2003)
- **************************************************************************
-
- Parametres: (POST ou GET) /
- --------------------------
- => PATH= // indique le chemin reel du repertoire à lister
- => EDIT= // indiwue si on pourra lire (methode texte) le fichier
- => DELETE= // indique si on pourra supprimer le fichier depuis la page
-
- exemple d'utilisation : /
- ------------------------
- http://monserveur/monrep/lstfile_log.asp?PATH=c:\temp&DELETE=true&EDIT=false
- pour raffraichir la page appuyer sur le bouton 'delete'
-
-
- Liste des fonctions de la page /
- -------------------------------
- getParam (_param, _default)
- DelFile (myFile)
- FolderExist (myFolder)
- TriTableau (LeTableau)
- listeFile (l_s_Path)
- date2string (d)
-
-
- **************************************************************************
- pages liées ou utilisées /
- -------------------------
- readfile.asp => sert à lire un fichier en mode texte
- ************************************************************************** */
-
- /* --------------------------------------------
- VARIABLES DE CONFIG DE LA PAGE
- -------------------------------------------- */
- var cst_PathFiles = "";
- var cst_EDIT = false;
- var cst_DELETE = false;
-
- /* --------------------------------------------
- Definition des constantes
- -------------------------------------------- */
- //pour l'objet File
- var cstPath = 0;
- var cstName = 1;
- var cstSize = 2;
- var cstDateCreated = 3;
- var cstDateLastAccessed = 4;
- var cstDateLastModified = 5;
- //Pour la page
- var cst_MaxFiles = 1000;
-
- /* --------------------------------------------
- recup des variables
- -------------------------------------------- */
- nbFile = getParam("nbFile", "");
- btn_Del = getParam("btn_Del", "");
- cst_PathFiles = getParam("PATH","")+"";
- cst_EDIT = getParam("EDIT", "");
- cst_DELETE = getParam("DELETE", "");
-
-
- /* --------------------------------------------
- Verification d'execution de la page
- -------------------------------------------- */
- //-Si pas de chemin alors pas de recherche
- if (cst_PathFiles=="" || cst_PathFiles==null) {
- Response.write ("<center>Il n'y a pas de chemin indiqué</center>");
- Response.end();
- }
- //-Peut on editer les fichiers
- if (cst_EDIT=='true' || cst_EDIT=='TRUE' || cst_EDIT=='True') {
- cst_EDIT = true;
- }
- //-Peut on supprimer les fichiers
- if (cst_DELETE=='true' || cst_DELETE=='TRUE' || cst_DELETE=='True') {
- cst_DELETE = true;
- }
-
- /* --------------------------------------------
- Test la coherance de la chaine
- -------------------------------------------- */
- if ( String(cst_PathFiles.substr(cst_PathFiles.length-1,1))!=String("\\") ) {
- cst_PathFiles += "\\";
- }
- else {
- }
-
- /* --------------------------------------------
- On verifie que le chemin existe
- -------------------------------------------- */
- if (!FolderExist(cst_PathFiles)) {
- Response.write ("<center>Le repertoire <b>"+cst_PathFiles+"</b> n'existe pas </center>");
- Response.end();
- }
-
- /* --------------------------------------------
- permet de supprimer les fichiers
- -------------------------------------------- */
- if (btn_Del!="") {
- var myChk;
-
- for (i=0; i<nbFile; i++) {
- myChk = getParam("chkFile"+i,"");
- if (myChk!="") {
- DelFile (myChk);
- }
- }
- }
-
- /* --------------------------------------------
- recup des fichiers
- -------------------------------------------- */
- var tabFiles;
- var tabFilesTrie;
-
- tabFiles = listeFile (cst_PathFiles);
- tabFilesTrie = TriTableau (tabFiles);
-
-
-
- /* ********************************************************************************** */
- /* **********************LES FONCTIONS DE LA PAGE************************************ */
- /* ********************************************************************************** */
-
- /* ----------------------------------------------------------------------------------
- Fonction : getParam
- Description : récupère un paramètre (méthode GET ou POST)
- Entrées : nom du paramètre, valeur par défaut
- Sorties : chaine
- ---------------------------------------------------------------------------------- */
- function getParam(_param, _default) {
- var r = new String;
-
- //on recherche le paramétre dans les paramétres passé en GET
- if (""+ Request.QueryString(_param) != 'undefined')
- r = Request.QueryString(_param);
-
- //on recherche le paramétre dans les paramétres passé en POST
- if (""+ Request.Form(_param) != 'undefined')
- r = Request.Form(_param);
-
- //si on a pas de parametre, on retourne la valeur par defaut
- if (r==null || r=='')
- r = _default;
-
- return r;
- }
-
- /* ----------------------------------------------------------------------------------
- fonction : DelFile
- description : Permet de supprimer un fichier du disk (si le repertoire le permet)
- entree : nom du fichier
- sortie : -
- ---------------------------------------------------------------------------------- */
- function DelFile (myFile) {
- var Fs;
- try {
- Fs=new ActiveXObject("Scripting.FileSystemObject");
- Fs.deleteFile (myFile+"");
- } catch (e){
- Response.write ("Le fichier "+myFile+" n'est pas effacé<br>");
- }
- }
-
- /* ----------------------------------------------------------------------------------
- fonction : FolderExist
- description : Permet de savoir si un repertoire existe
- entree : tableau à trier
- sortie : -
- ---------------------------------------------------------------------------------- */
- function FolderExist (myFolder) {
- var fso;
- fso = new ActiveXObject("Scripting.FileSystemObject");
- return fso.FolderExists(myFolder);
- }
-
- /* ----------------------------------------------------------------------------------
- fonction : TriTableau
- description : Permet renvoyer un tableau Trié issu du tableau transmis en paramétre
- entree : tableau à trier
- sortie : -
- ---------------------------------------------------------------------------------- */
- function TriTableau (LeTableau) {
- var Ligne_Tampon;
- var NewPasse;
- var tmpLeTableau, Max;
-
- Max = LeTableau.length;
- tmpLeTableau = new Array(Max);
-
- if (Max==null || Max=='undefined') return LeTableau;
-
- //-copie le tableau
- for (i=0; i<Max; i++) {
- tmpLeTableau[i] = LeTableau[i];
- }
-
- NewPasse = "true";
- while (NewPasse!="false") {
- //-Chaque élément est comparé à celui qui lui est supérieur dans le classement
- NewPasse = "false";
- for (j=0; j<(Max-1); j++) {
- //-Test si J et plus grand que J+1
- if ( (tmpLeTableau[j]>tmpLeTableau[j + 1]) && tmpLeTableau[j]!=null && tmpLeTableau[j]!="") {
- Ligne_Tampon = tmpLeTableau[j];
- tmpLeTableau[j] = tmpLeTableau[j + 1];
- tmpLeTableau[j + 1] = Ligne_Tampon;
- NewPasse = "true";
- }
- }
- }
- return tmpLeTableau;
- }
-
- /* ----------------------------------------------------------------------------------
- fonction : listeFile
- description : Permet de trouver tous les fichiers d'un Repertoire
- entree : chemin physique
- sortie : tableau de String
- note : Organisation des resultats
- Path;Name;Size;DateCreated;DateLastAccessed;DateLastModified
- ---------------------------------------------------------------------------------- */
- function listeFile (l_s_Path) {
- var i, s, re;
- var tab_Files = new Array (cst_MaxFiles);
-
- //-Definiton des variables
- var l_fs //systeme de fichier
- var i;
-
- //-Creation de la variable de Drives--
- l_fs = new ActiveXObject("Scripting.FileSystemObject");
-
- //-Creation de la colections de FILES
- l_folder = l_fs.getFolder(l_s_Path);
- l_files = new Enumerator(l_folder.files);
-
- //-Boucle sur tous les fichiers du répertoires (Extention)
- i = 0;
- s = new String("");
- for (; !l_files.atEnd() && i<cst_MaxFiles; l_files.moveNext()) {
- s = l_files.item();
- a = s.Path+";"+s.Name+";"+s.Size+";"+s.DateCreated+";"+s.DateLastAccessed+";"+s.DateLastModified;
- tab_Files[i] = a;
- i++;
- }
- return tab_Files;
- }
-
- /* ----------------------------------------------------------------------------------
- fonction : date2string
- description : Permet de renvoyer une date DD/MM/YYYY HH:MM
- entree : objet Date
- sortie : string
- ---------------------------------------------------------------------------------- */
- function date2string (d) {
- var str="";
- var strDate, strMonth, strYear, strHours, strMinutes;
-
- strDate = d.getDate();
- strMonth = (Number(d.getMonth())+1);
- strYear = d.getYear();
- strHours = d.getHours();
- strMinutes = d.getMinutes();
-
- str += strDate <10? "0"+strDate +"/" : strDate+"/";
- str += strMonth <10? "0"+strMonth +"/" : strMonth+"/";
- str += strYear <10? "0"+strYear +" " : strYear+" ";
- str += strHours <10? "0"+strHours +":" : strHours+":";
- str += strMinutes<10? "0"+strMinutes+"" : strMinutes+"";
-
- return str;
- }
- %>
- <HTML>
- <HEAD>
- <link rel="stylesheet" type="text/css" href="../style_crue.css">
-
- <STYLE>
- .texteNoir10 { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 10px; color: #000000}
- .texteNoir12 { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 12px; color: #000000}
- .texteNoir10Gras { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 10px; color: #000000; font-weight: bold}
- .texteNoir12Gras { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 12px; color: #000000; font-weight: bold}
-
- .texteBleu10 { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 10px; color: #11067c}
- .texteBleu12 { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 12px; color: #11067c}
- .texteBleu10Gras { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 10px; color: #11067c; font-weight: bold}
- .texteBleu12Gras { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 12px; color: #11067c; font-weight: bold}
-
- .texteGris12 { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 12px; color: #999999}
- .texteGris12Gras { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 12px; color: #999999; font-weight: bold}
-
- .texteBlanc10 { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 10px; color: #FFFFFF}
- .texteBlanc12 { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 12px; color: #FFFFFF}
- .texteBlanc10Gras { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 10px; color: #FFFFFF; font-weight: bold}
- .texteBlanc12Gras { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 12px; color: #FFFFFF; font-weight: bold}
- </STYLE>
-
- </HEAD>
- <BODY bgcolor="ffffff">
- <div align="center">
- <FORM METHOD="POST">
- <TABLE cellspacing="0" cellpadding="0" border="0" width="800">
- <TR>
- <TD bgcolor="11067c" align="center" colspan="5"><font color="#999999" size="2" class="texteGris12Gras"><b>Liste des fichiers du dossier=></font><font color="#FFFFFF" size="2" class="texteBlanc12Gras"><%=cst_PathFiles%></font></TD>
- </TR>
- <TR>
- <TD width="70" align="center"><input type="submit" name="btn_Del" value="delete"></TD>
- <TD width="600" align="left"><font color="000000" size="1" class="texteNoir10Gras"><b>Nom</b></TD>
- <TD width="50" align="right"><font color="000000" size="1" class="texteNoir10">Taille</TD>
- <TD width="5"> </TD>
- <TD align="center" nowrap><font color="000000" size="1" class="texteNoir10">Date modification</TD>
- </TR>
-
- <%
- var FileItem, FileSize, FileName;
- var nbFileView=0;
- for (i=0; i<tabFilesTrie.length; i++) {
- if (tabFilesTrie[i]!="" && tabFilesTrie[i]!=null && tabFilesTrie[i]!="undefined") {
- //-recup d'un element
- FileItem = String(tabFilesTrie[i]).split(";");
-
-
- //-recup du nom du fichier
- FileName = FileItem[cstPath];
-
- //-création de la taille du fichier
- if (FileItem[cstSize]>(1024*1024)) {
- FileSize = Math.ceil(((Number(FileItem[cstSize])/1024)/1024)) + " Mo";
- }
- else {
- if (FileItem[cstSize]>1024) {
- FileSize = Math.ceil((Number(FileItem[cstSize])/1024)) + " ko";
- }
- else {
- FileSize = FileItem[cstSize] + " oc"
- }
- }
-
- //-date de dernière modif
- LastModif = date2string (new Date(FileItem[cstDateLastModified]));
-
- Response.write (' <TR>\n');
- Response.write (' <TD align=\"center\">');
- if (cst_DELETE) {
- Response.write ('<input type=\"checkbox\" name=\"chkFile' + i + '\" value=\"' + FileName + '\">');
- }
- else {
- Response.write (' ');
- }
- Response.write ('</TD>\n');
- Response.write (' <TD bgcolor=\"#99cccc\" nowrap>');
- if (cst_EDIT) {
- Response.write ('<a href=\"readfile.asp?FILENAME='+FileItem[cstPath]+'\" target=\"_blank\">');
- }
- Response.write ('<font color=\"#11067c\" size="1" class=\"texteNoir10\">' + FileItem[cstName] + '</font>');
- if (cst_EDIT) {
- Response.write ('</a>');
- }
- Response.write ('</TD>\n');
- Response.write (' <TD bgcolor=\"#99cccc\" align=\"right\">');
- Response.write ('<font color=\"#000000\" size=\"1\" class=\"texteNoir10\">' + FileSize + '</font>');
- Response.write ('</TD>\n');
- Response.write (' <TD> </TD>');
- Response.write (' <TD bgcolor=\"#ffffff\" align=\"right\" nowrap>');
- Response.write ('<font color=\"#000000\" size=\"1\" class=\"texteNoir10\">' + LastModif + '</font>');
- Response.write ('</TD>\n');
- Response.write (' </TR>\n');
- nbFileView++;
- }
- }
- %>
-
- <caption><input type="hidden" name="nbFile" value="<%=i%>"><font size="1" color="#000000">il y a <%=nbFileView%> fichiers dans le dossier</font></caption>
- </TABLE>
- </form>
- </div>
- </BODY>
- </HTML>
-
-
-
-
- <%
- /* ***************************************************************************
- *************** LE FICHIER readfile.asp ***************
- *************************************************************************** */
- %>
- <%@ Language=JScript %>
- <%
- /* **************************************************************************
- Cette page permet de lister les fichiers dans un repertoire
- un maximum de cst_MaxFiles fichiers peuvent être listés.
-
- **************************************************************************
- language : Jscript (tester sur XP pro, jsript version 5)
- **************************************************************************
- Auteur : D.HIVERT (septembre 2003)
- **************************************************************************
-
- Parametres: (POST ou GET) /
- --------------------------
- => FILENAME= // indique le chemin et le nom du fichier
-
- exemple d'utilisation : /
- ------------------------
- http://monserveur/monrep/readfile.asp?FILEMANE=c:\temp\monfichier.txt
-
- Liste des fonctions de la page /
- -------------------------------
- getParam (_param, _default)
- Replace (strOrg, strRec, strRep)
- FileExist (FileName)
- ReadFiles (FileName)
-
- **************************************************************************
- pages liées ou utilisées /
- -------------------------
- -
- ************************************************************************** */
-
- var FILENAME;
-
- /* --------------------------------------------
- recup des variables
- -------------------------------------------- */
- FILENAME = getParam ("FILENAME","");
-
- /* --------------------------------------------
- On verifie que l'on demande bien d'afficher
- un fichier
- -------------------------------------------- */
- if (FILENAME==null || FILENAME=="") {
- Response.write ("<br><center>Il n'y a pas de fichier indiqué</center>");
- Response.end();
- }
-
- /* --------------------------------------------
- Le fichier existe, on traite et on affiche
- -------------------------------------------- */
- if (FileExist (FILENAME)) {
- strFile = ReadFiles (FILENAME);
-
- strFile = Replace (strFile,'&', String.fromCharCode(38)+'amp;'); //remplace '&' par son code HTML
- strFile = Replace (strFile,'<', String.fromCharCode(38)+'lt;'); //remplace '<' par son code HTML
- strFile = Replace (strFile,'>', String.fromCharCode(38)+'gt;'); //remplace '>' par son code HTML
-
- //affichage du fichier
- Response.write ("<pre>Le fichier est: <b>"+FILENAME+"</b></pre>");
- Response.write ("<pre>");
- Response.write (strFile);
- Response.write ("</pre>");
- }
- /* --------------------------------------------
- Le fichier n'existe pas
- -------------------------------------------- */
- else {
- Response.write ("<br><center>Il n'y a pas de fichier à l'endroit indiqué ( "+FILENAME+" )</center>");
- Response.end();
- }
-
-
- /* ********************************************************************************** */
- /* **********************LES FONCTIONS DE LA PAGE************************************ */
- /* ********************************************************************************** */
-
- /* ----------------------------------------------------------------------------------
- Fonction : getParam
- Description : récupère un paramètre (méthode GET ou POST)
- Entrées : nom du paramètre, valeur par défaut
- Sorties : chaine
- ---------------------------------------------------------------------------------- */
- function getParam(_param, _default) {
- var r = new String;
-
- //on recherche le paramétre dans les paramétres passé en GET
- if (""+ Request.QueryString(_param) != 'undefined')
- r = Request.QueryString(_param);
-
- //on recherche le paramétre dans les paramétres passé en POST
- if (""+ Request.Form(_param) != 'undefined')
- r = Request.Form(_param);
-
- //si on a pas de parametre, on retourne la valeur par defaut
- if (r==null || r=='')
- r = _default;
-
- return r;
- }
-
- /* ----------------------------------------------------------------------------------
- Fonction : Replace
- Description : Permet de remplacer dans une chaine une ocurence par une autre
- respecte la Casse
- Entrées : chaine, chaine
- Sorties : chaine
- ---------------------------------------------------------------------------------- */
- function Replace (strOrg, strRec, strRep) {
- var tmp = "";
- var re = new RegExp(strRec,"gm");
-
- if (strOrg!=null)
- {
- tmp += strOrg;
- tmp = tmp.replace(re,strRep);
- }
-
- return tmp;
- }
-
- /* ----------------------------------------------------------------------------------
- Fonction : FileExist
- Description : Vérifie l'existance d'un fichier
- Entrées : nom du fichier
- Sorties : true | false
- ---------------------------------------------------------------------------------- */
- function FileExist (FileName) {
- var fso;
- fso = new ActiveXObject("Scripting.FileSystemObject");
- return fso.FileExists(FileName);
- }
-
- /* ----------------------------------------------------------------------------------
- Fonction :
- Description : Permet d'ecrire un fichier Texte ligne par ligne
- Entrées : nom du fichier
- Sorties : chaine (formatée)
- ---------------------------------------------------------------------------------- */
- function ReadFiles(FileName) {
- var fso, ts, s;
- var ForReading = 1;
- var strFile="";
- var nbLine=0;
- var maxLineRead=1000; //indique le nombre de lignes max à traiter
-
- fso = new ActiveXObject("Scripting.FileSystemObject");
-
- // Lire le contenu du fichier.
- ts = fso.OpenTextFile(FileName, ForReading);
- while (!ts.AtEndOfStream && nbLine<maxLineRead) {
- s = ts.ReadLine();
- strFile += s + String.fromCharCode(13,10);
- nbLine++;
- }
- ts.Close();
-
- //-Depasse le nombre de ligne max (on l'indique en haut du document)
- if (nbLine>=maxLineRead) {
- strFile = "||ONLY "+maxLineRead+" FIRST LINE IS READ||"+ String.fromCharCode(13,10) + strFile;
- }
-
- return strFile;
- }
- %>
<%
/* ***************************************************************************
*************** LE FICHIER lstfile_log.asp ***************
*************************************************************************** */
%>
<%@ Language=JScript %>
<%
/* **************************************************************************
Cette page permet de lister les fichiers dans un repertoire
un maximum de cst_MaxFiles fichiers peuvent être listés.
**************************************************************************
language : Jscript (tester sur XP pro, jsript version 5)
**************************************************************************
Auteur : D.HIVERT (septembre 2003)
**************************************************************************
Parametres: (POST ou GET) /
--------------------------
=> PATH= // indique le chemin reel du repertoire à lister
=> EDIT= // indiwue si on pourra lire (methode texte) le fichier
=> DELETE= // indique si on pourra supprimer le fichier depuis la page
exemple d'utilisation : /
------------------------
http://monserveur/monrep/lstfile_log.asp?PATH=c:\temp&DELETE=true&EDIT=false
pour raffraichir la page appuyer sur le bouton 'delete'
Liste des fonctions de la page /
-------------------------------
getParam (_param, _default)
DelFile (myFile)
FolderExist (myFolder)
TriTableau (LeTableau)
listeFile (l_s_Path)
date2string (d)
**************************************************************************
pages liées ou utilisées /
-------------------------
readfile.asp => sert à lire un fichier en mode texte
************************************************************************** */
/* --------------------------------------------
VARIABLES DE CONFIG DE LA PAGE
-------------------------------------------- */
var cst_PathFiles = "";
var cst_EDIT = false;
var cst_DELETE = false;
/* --------------------------------------------
Definition des constantes
-------------------------------------------- */
//pour l'objet File
var cstPath = 0;
var cstName = 1;
var cstSize = 2;
var cstDateCreated = 3;
var cstDateLastAccessed = 4;
var cstDateLastModified = 5;
//Pour la page
var cst_MaxFiles = 1000;
/* --------------------------------------------
recup des variables
-------------------------------------------- */
nbFile = getParam("nbFile", "");
btn_Del = getParam("btn_Del", "");
cst_PathFiles = getParam("PATH","")+"";
cst_EDIT = getParam("EDIT", "");
cst_DELETE = getParam("DELETE", "");
/* --------------------------------------------
Verification d'execution de la page
-------------------------------------------- */
//-Si pas de chemin alors pas de recherche
if (cst_PathFiles=="" || cst_PathFiles==null) {
Response.write ("<center>Il n'y a pas de chemin indiqué</center>");
Response.end();
}
//-Peut on editer les fichiers
if (cst_EDIT=='true' || cst_EDIT=='TRUE' || cst_EDIT=='True') {
cst_EDIT = true;
}
//-Peut on supprimer les fichiers
if (cst_DELETE=='true' || cst_DELETE=='TRUE' || cst_DELETE=='True') {
cst_DELETE = true;
}
/* --------------------------------------------
Test la coherance de la chaine
-------------------------------------------- */
if ( String(cst_PathFiles.substr(cst_PathFiles.length-1,1))!=String("\\") ) {
cst_PathFiles += "\\";
}
else {
}
/* --------------------------------------------
On verifie que le chemin existe
-------------------------------------------- */
if (!FolderExist(cst_PathFiles)) {
Response.write ("<center>Le repertoire <b>"+cst_PathFiles+"</b> n'existe pas </center>");
Response.end();
}
/* --------------------------------------------
permet de supprimer les fichiers
-------------------------------------------- */
if (btn_Del!="") {
var myChk;
for (i=0; i<nbFile; i++) {
myChk = getParam("chkFile"+i,"");
if (myChk!="") {
DelFile (myChk);
}
}
}
/* --------------------------------------------
recup des fichiers
-------------------------------------------- */
var tabFiles;
var tabFilesTrie;
tabFiles = listeFile (cst_PathFiles);
tabFilesTrie = TriTableau (tabFiles);
/* ********************************************************************************** */
/* **********************LES FONCTIONS DE LA PAGE************************************ */
/* ********************************************************************************** */
/* ----------------------------------------------------------------------------------
Fonction : getParam
Description : récupère un paramètre (méthode GET ou POST)
Entrées : nom du paramètre, valeur par défaut
Sorties : chaine
---------------------------------------------------------------------------------- */
function getParam(_param, _default) {
var r = new String;
//on recherche le paramétre dans les paramétres passé en GET
if (""+ Request.QueryString(_param) != 'undefined')
r = Request.QueryString(_param);
//on recherche le paramétre dans les paramétres passé en POST
if (""+ Request.Form(_param) != 'undefined')
r = Request.Form(_param);
//si on a pas de parametre, on retourne la valeur par defaut
if (r==null || r=='')
r = _default;
return r;
}
/* ----------------------------------------------------------------------------------
fonction : DelFile
description : Permet de supprimer un fichier du disk (si le repertoire le permet)
entree : nom du fichier
sortie : -
---------------------------------------------------------------------------------- */
function DelFile (myFile) {
var Fs;
try {
Fs=new ActiveXObject("Scripting.FileSystemObject");
Fs.deleteFile (myFile+"");
} catch (e){
Response.write ("Le fichier "+myFile+" n'est pas effacé<br>");
}
}
/* ----------------------------------------------------------------------------------
fonction : FolderExist
description : Permet de savoir si un repertoire existe
entree : tableau à trier
sortie : -
---------------------------------------------------------------------------------- */
function FolderExist (myFolder) {
var fso;
fso = new ActiveXObject("Scripting.FileSystemObject");
return fso.FolderExists(myFolder);
}
/* ----------------------------------------------------------------------------------
fonction : TriTableau
description : Permet renvoyer un tableau Trié issu du tableau transmis en paramétre
entree : tableau à trier
sortie : -
---------------------------------------------------------------------------------- */
function TriTableau (LeTableau) {
var Ligne_Tampon;
var NewPasse;
var tmpLeTableau, Max;
Max = LeTableau.length;
tmpLeTableau = new Array(Max);
if (Max==null || Max=='undefined') return LeTableau;
//-copie le tableau
for (i=0; i<Max; i++) {
tmpLeTableau[i] = LeTableau[i];
}
NewPasse = "true";
while (NewPasse!="false") {
//-Chaque élément est comparé à celui qui lui est supérieur dans le classement
NewPasse = "false";
for (j=0; j<(Max-1); j++) {
//-Test si J et plus grand que J+1
if ( (tmpLeTableau[j]>tmpLeTableau[j + 1]) && tmpLeTableau[j]!=null && tmpLeTableau[j]!="") {
Ligne_Tampon = tmpLeTableau[j];
tmpLeTableau[j] = tmpLeTableau[j + 1];
tmpLeTableau[j + 1] = Ligne_Tampon;
NewPasse = "true";
}
}
}
return tmpLeTableau;
}
/* ----------------------------------------------------------------------------------
fonction : listeFile
description : Permet de trouver tous les fichiers d'un Repertoire
entree : chemin physique
sortie : tableau de String
note : Organisation des resultats
Path;Name;Size;DateCreated;DateLastAccessed;DateLastModified
---------------------------------------------------------------------------------- */
function listeFile (l_s_Path) {
var i, s, re;
var tab_Files = new Array (cst_MaxFiles);
//-Definiton des variables
var l_fs //systeme de fichier
var i;
//-Creation de la variable de Drives--
l_fs = new ActiveXObject("Scripting.FileSystemObject");
//-Creation de la colections de FILES
l_folder = l_fs.getFolder(l_s_Path);
l_files = new Enumerator(l_folder.files);
//-Boucle sur tous les fichiers du répertoires (Extention)
i = 0;
s = new String("");
for (; !l_files.atEnd() && i<cst_MaxFiles; l_files.moveNext()) {
s = l_files.item();
a = s.Path+";"+s.Name+";"+s.Size+";"+s.DateCreated+";"+s.DateLastAccessed+";"+s.DateLastModified;
tab_Files[i] = a;
i++;
}
return tab_Files;
}
/* ----------------------------------------------------------------------------------
fonction : date2string
description : Permet de renvoyer une date DD/MM/YYYY HH:MM
entree : objet Date
sortie : string
---------------------------------------------------------------------------------- */
function date2string (d) {
var str="";
var strDate, strMonth, strYear, strHours, strMinutes;
strDate = d.getDate();
strMonth = (Number(d.getMonth())+1);
strYear = d.getYear();
strHours = d.getHours();
strMinutes = d.getMinutes();
str += strDate <10? "0"+strDate +"/" : strDate+"/";
str += strMonth <10? "0"+strMonth +"/" : strMonth+"/";
str += strYear <10? "0"+strYear +" " : strYear+" ";
str += strHours <10? "0"+strHours +":" : strHours+":";
str += strMinutes<10? "0"+strMinutes+"" : strMinutes+"";
return str;
}
%>
<HTML>
<HEAD>
<link rel="stylesheet" type="text/css" href="../style_crue.css">
<STYLE>
.texteNoir10 { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 10px; color: #000000}
.texteNoir12 { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 12px; color: #000000}
.texteNoir10Gras { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 10px; color: #000000; font-weight: bold}
.texteNoir12Gras { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 12px; color: #000000; font-weight: bold}
.texteBleu10 { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 10px; color: #11067c}
.texteBleu12 { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 12px; color: #11067c}
.texteBleu10Gras { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 10px; color: #11067c; font-weight: bold}
.texteBleu12Gras { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 12px; color: #11067c; font-weight: bold}
.texteGris12 { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 12px; color: #999999}
.texteGris12Gras { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 12px; color: #999999; font-weight: bold}
.texteBlanc10 { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 10px; color: #FFFFFF}
.texteBlanc12 { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 12px; color: #FFFFFF}
.texteBlanc10Gras { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 10px; color: #FFFFFF; font-weight: bold}
.texteBlanc12Gras { font-family: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none; font-size: 12px; color: #FFFFFF; font-weight: bold}
</STYLE>
</HEAD>
<BODY bgcolor="ffffff">
<div align="center">
<FORM METHOD="POST">
<TABLE cellspacing="0" cellpadding="0" border="0" width="800">
<TR>
<TD bgcolor="11067c" align="center" colspan="5"><font color="#999999" size="2" class="texteGris12Gras"><b>Liste des fichiers du dossier=></font><font color="#FFFFFF" size="2" class="texteBlanc12Gras"><%=cst_PathFiles%></font></TD>
</TR>
<TR>
<TD width="70" align="center"><input type="submit" name="btn_Del" value="delete"></TD>
<TD width="600" align="left"><font color="000000" size="1" class="texteNoir10Gras"><b>Nom</b></TD>
<TD width="50" align="right"><font color="000000" size="1" class="texteNoir10">Taille</TD>
<TD width="5"> </TD>
<TD align="center" nowrap><font color="000000" size="1" class="texteNoir10">Date modification</TD>
</TR>
<%
var FileItem, FileSize, FileName;
var nbFileView=0;
for (i=0; i<tabFilesTrie.length; i++) {
if (tabFilesTrie[i]!="" && tabFilesTrie[i]!=null && tabFilesTrie[i]!="undefined") {
//-recup d'un element
FileItem = String(tabFilesTrie[i]).split(";");
//-recup du nom du fichier
FileName = FileItem[cstPath];
//-création de la taille du fichier
if (FileItem[cstSize]>(1024*1024)) {
FileSize = Math.ceil(((Number(FileItem[cstSize])/1024)/1024)) + " Mo";
}
else {
if (FileItem[cstSize]>1024) {
FileSize = Math.ceil((Number(FileItem[cstSize])/1024)) + " ko";
}
else {
FileSize = FileItem[cstSize] + " oc"
}
}
//-date de dernière modif
LastModif = date2string (new Date(FileItem[cstDateLastModified]));
Response.write (' <TR>\n');
Response.write (' <TD align=\"center\">');
if (cst_DELETE) {
Response.write ('<input type=\"checkbox\" name=\"chkFile' + i + '\" value=\"' + FileName + '\">');
}
else {
Response.write (' ');
}
Response.write ('</TD>\n');
Response.write (' <TD bgcolor=\"#99cccc\" nowrap>');
if (cst_EDIT) {
Response.write ('<a href=\"readfile.asp?FILENAME='+FileItem[cstPath]+'\" target=\"_blank\">');
}
Response.write ('<font color=\"#11067c\" size="1" class=\"texteNoir10\">' + FileItem[cstName] + '</font>');
if (cst_EDIT) {
Response.write ('</a>');
}
Response.write ('</TD>\n');
Response.write (' <TD bgcolor=\"#99cccc\" align=\"right\">');
Response.write ('<font color=\"#000000\" size=\"1\" class=\"texteNoir10\">' + FileSize + '</font>');
Response.write ('</TD>\n');
Response.write (' <TD> </TD>');
Response.write (' <TD bgcolor=\"#ffffff\" align=\"right\" nowrap>');
Response.write ('<font color=\"#000000\" size=\"1\" class=\"texteNoir10\">' + LastModif + '</font>');
Response.write ('</TD>\n');
Response.write (' </TR>\n');
nbFileView++;
}
}
%>
<caption><input type="hidden" name="nbFile" value="<%=i%>"><font size="1" color="#000000">il y a <%=nbFileView%> fichiers dans le dossier</font></caption>
</TABLE>
</form>
</div>
</BODY>
</HTML>
<%
/* ***************************************************************************
*************** LE FICHIER readfile.asp ***************
*************************************************************************** */
%>
<%@ Language=JScript %>
<%
/* **************************************************************************
Cette page permet de lister les fichiers dans un repertoire
un maximum de cst_MaxFiles fichiers peuvent être listés.
**************************************************************************
language : Jscript (tester sur XP pro, jsript version 5)
**************************************************************************
Auteur : D.HIVERT (septembre 2003)
**************************************************************************
Parametres: (POST ou GET) /
--------------------------
=> FILENAME= // indique le chemin et le nom du fichier
exemple d'utilisation : /
------------------------
http://monserveur/monrep/readfile.asp?FILEMANE=c:\temp\monfichier.txt
Liste des fonctions de la page /
-------------------------------
getParam (_param, _default)
Replace (strOrg, strRec, strRep)
FileExist (FileName)
ReadFiles (FileName)
**************************************************************************
pages liées ou utilisées /
-------------------------
-
************************************************************************** */
var FILENAME;
/* --------------------------------------------
recup des variables
-------------------------------------------- */
FILENAME = getParam ("FILENAME","");
/* --------------------------------------------
On verifie que l'on demande bien d'afficher
un fichier
-------------------------------------------- */
if (FILENAME==null || FILENAME=="") {
Response.write ("<br><center>Il n'y a pas de fichier indiqué</center>");
Response.end();
}
/* --------------------------------------------
Le fichier existe, on traite et on affiche
-------------------------------------------- */
if (FileExist (FILENAME)) {
strFile = ReadFiles (FILENAME);
strFile = Replace (strFile,'&', String.fromCharCode(38)+'amp;'); //remplace '&' par son code HTML
strFile = Replace (strFile,'<', String.fromCharCode(38)+'lt;'); //remplace '<' par son code HTML
strFile = Replace (strFile,'>', String.fromCharCode(38)+'gt;'); //remplace '>' par son code HTML
//affichage du fichier
Response.write ("<pre>Le fichier est: <b>"+FILENAME+"</b></pre>");
Response.write ("<pre>");
Response.write (strFile);
Response.write ("</pre>");
}
/* --------------------------------------------
Le fichier n'existe pas
-------------------------------------------- */
else {
Response.write ("<br><center>Il n'y a pas de fichier à l'endroit indiqué ( "+FILENAME+" )</center>");
Response.end();
}
/* ********************************************************************************** */
/* **********************LES FONCTIONS DE LA PAGE************************************ */
/* ********************************************************************************** */
/* ----------------------------------------------------------------------------------
Fonction : getParam
Description : récupère un paramètre (méthode GET ou POST)
Entrées : nom du paramètre, valeur par défaut
Sorties : chaine
---------------------------------------------------------------------------------- */
function getParam(_param, _default) {
var r = new String;
//on recherche le paramétre dans les paramétres passé en GET
if (""+ Request.QueryString(_param) != 'undefined')
r = Request.QueryString(_param);
//on recherche le paramétre dans les paramétres passé en POST
if (""+ Request.Form(_param) != 'undefined')
r = Request.Form(_param);
//si on a pas de parametre, on retourne la valeur par defaut
if (r==null || r=='')
r = _default;
return r;
}
/* ----------------------------------------------------------------------------------
Fonction : Replace
Description : Permet de remplacer dans une chaine une ocurence par une autre
respecte la Casse
Entrées : chaine, chaine
Sorties : chaine
---------------------------------------------------------------------------------- */
function Replace (strOrg, strRec, strRep) {
var tmp = "";
var re = new RegExp(strRec,"gm");
if (strOrg!=null)
{
tmp += strOrg;
tmp = tmp.replace(re,strRep);
}
return tmp;
}
/* ----------------------------------------------------------------------------------
Fonction : FileExist
Description : Vérifie l'existance d'un fichier
Entrées : nom du fichier
Sorties : true | false
---------------------------------------------------------------------------------- */
function FileExist (FileName) {
var fso;
fso = new ActiveXObject("Scripting.FileSystemObject");
return fso.FileExists(FileName);
}
/* ----------------------------------------------------------------------------------
Fonction :
Description : Permet d'ecrire un fichier Texte ligne par ligne
Entrées : nom du fichier
Sorties : chaine (formatée)
---------------------------------------------------------------------------------- */
function ReadFiles(FileName) {
var fso, ts, s;
var ForReading = 1;
var strFile="";
var nbLine=0;
var maxLineRead=1000; //indique le nombre de lignes max à traiter
fso = new ActiveXObject("Scripting.FileSystemObject");
// Lire le contenu du fichier.
ts = fso.OpenTextFile(FileName, ForReading);
while (!ts.AtEndOfStream && nbLine<maxLineRead) {
s = ts.ReadLine();
strFile += s + String.fromCharCode(13,10);
nbLine++;
}
ts.Close();
//-Depasse le nombre de ligne max (on l'indique en haut du document)
if (nbLine>=maxLineRead) {
strFile = "||ONLY "+maxLineRead+" FIRST LINE IS READ||"+ String.fromCharCode(13,10) + strFile;
}
return strFile;
}
%>
Conclusion
Voila. J'espere avoir ete clair.
Petite note de fin de page : Si vous voulez effacer un fichier via cette page et que ce fichier est 'resistant', verifiez que votre utilisateur Internet a les droits d'effacer dans le repertoire.
Salutation.
Une petite Erreur est survenue dans les fichiers compressees, lisez le code pour faire la correction pour la suppresion des fichiers.
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
GRIDVIEW CHECKBOXGRIDVIEW CHECKBOX par invent001
Cliquez pour lire la suite par invent001 OUTIL MYSQLOUTIL MYSQL par nobla
Cliquez pour lire la suite par nobla
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|