Je cherche un moyen de dézipper un fichier .zip avec asp mais il est impossible pour moi d'installer un dll sur un serveur.
Quelqu'un à une idée?
Version imprimable
Je cherche un moyen de dézipper un fichier .zip avec asp mais il est impossible pour moi d'installer un dll sur un serveur.
Quelqu'un à une idée?
J'ai toujours pas trouvé mais comme php 5 est installer sur mon serveur je vais y allez avec php. Je commence sérieusement à laisser tomber asp pour sauté au php :cry:
Code:
1
2
3
4
5
6
7
8 <?php $zip = new ZipArchive; $zip->open("Bureau.zip"); echo "Ok4!"; $zip->extractTo("./"); $zip->close(); echo "Ok5!"; ?>
L'ASP classique n'a pas la richesse fonctionnelle de PHP, du moins sans composant additionnel. Cette simplicité est ce qui fait son charme et sa stabilité, IMHO.
J'allais écrire qu'il faudrait implémenter l'algorithme PKZIP à la main... mais il semble pourtant que la manipulation du format d'archives soit possible avec la méthode NameSpace de l'objet Shell.Application, qui s'appuie sur la fonctionnalité "dossiers compressés" de l'OS hôte (à partir de XP).
Quelques pistes et les liens d'où elles proviennent (merci Gougueule) :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 zipfile = "D:\www\stuffhere\html\textzip.zip" 'unzipdir = "D:\www\stuffhere\html\unzipped" Set objShell = CreateObject("Shell.Application") Set SrcFldr=objShell.NameSpace(zipfile) Set DestFldr=objShell.NameSpace(unzipdir) If srcfldr Is Nothing Then Response.Write "Zip file not found" Else If DestFldr Is Nothing Then Response.Write "Unzip Directory file not found" Else Set FldrItems=SrcFldr.Items For Each objItem In FldrItems Response.Write objItem.Name & "<br />" Next End If End If
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 ' To UnZip files- '---------------------------- pathToZipFile = "C:\index.zip" extractTo = "C:\ " Set sa = CreateObject("Shell.Application") Set filesInzip = sa.NameSpace(pathToZipFile).items sa.NameSpace(extractTo).CopyHere(filesInzip) '---------------------------- ' To Zip files- '---------------------------- FolderToZip = "C:\CygWin" zipFile = "C:\some.zip" Set sa = CreateObject("Shell.Application") Set zip = sa.NameSpace(zipFile) Set Fol = sa.NameSpace(FolderToZip) zip.CopyHere(Fol.Items) WScript.Sleep 2000 ' increase this if the folder is large '----------------------------
Il faudra que je teste, ça peut m'être utile.
Sinon, rien n'empêche de faire faire le décompactage à PHP, puis de continuer les traitements en ASP, si les deux environnements accèdent aux mêmes dossiers sur le serveur.
:mrgreen:
Merci beaucoup. Je vais tester cela.
Pour le moment j'appelais tout simplement la page php a laide de Microsoft.XMLHTTP