Création d'objet COM [Fatal error]

Petit nouveau ! | 3 Messages

12 mars 2013, 20:59

Bonjour tout le monde.

Je souhaiterais utilisé la librairie COM suivante sous PHP :
https://dotnetzip.codeplex.com/

Concrètement j'ai ce code là :

Code : Tout sélectionner

$fname = 'result.zip'; $zipOutput = './' . $fname; $zipfact = new COM("Ionic.Zip.ZipFile"); $zip->Name = $zipOutput; $dirToZip= "./test30"; $zip->Encryption = 3; $zip->Password = "AES-Encryption-Is-Secure"; $zip->AddDirectory($dirToZip); $zip->Save(); $zip->Dispose();
Le problème est que, j'obtiens l'erreur suivante lors de la création de l'objet COM (New) :
Fatal error: in ******\index.php on line *

L'erreur n'est pas vraiment parlante... Pour information, je viens juste de faire un RegAsm.exe sur la dite DLL car avant elle n'était même pas reconnue.
Auriez-vous une idée de comment résoudre la chose s'il vous plait ?

Vous remerciant d'avance pour vos réponses,
Birmania

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

12 mars 2013, 23:00

Regarde le fichier indiqué dans l'erreur, et la ligne indiquée, et postes déjà ça
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Petit nouveau ! | 3 Messages

12 mars 2013, 23:09

Heu... Comment dire... C'est déjà présent dans mon premier message en fait.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

13 mars 2013, 00:59

Heu... Comment dire... C'est déjà présent dans mon premier message en fait.
Tu veux dire ce code là :

Code : Tout sélectionner

$fname = 'result.zip'; $zipOutput = './' . $fname; $zipfact = new COM("Ionic.Zip.ZipFile"); $zip->Name = $zipOutput; $dirToZip= "./test30"; $zip->Encryption = 3; $zip->Password = "AES-Encryption-Is-Secure"; $zip->AddDirectory($dirToZip); $zip->Save(); $zip->Dispose();
où, comme il manque le <?php, je me doute que les lignes ne sont pas les bonnes ?

Ou alors de ce message :
Fatal error: in ******\index.php on line *
où le numéro de la ligne est cachée ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Petit nouveau ! | 3 Messages

13 mars 2013, 17:26

Ah mince, je ne pensais pas être autant mystique dans mon premier message. Voilà donc le code complet (avec les balises) :

Code : Tout sélectionner

<?php $fname = 'result.zip'; $zipOutput = './' . $fname; $zipfact = new COM("Ionic.Zip.ZipFile"); $zip->Name = $zipOutput; $dirToZip= "./test30"; $zip->Encryption = 3; $zip->Password = "AES-Encryption-Is-Secure"; $zip->AddDirectory($dirToZip); $zip->Save(); $zip->Dispose(); ?>
L'erreur obtenue :

Code : Tout sélectionner

Fatal error: in ******\index.php on line 4
Donc l'erreur se trouve sur cette ligne :

Code : Tout sélectionner

$zipfact = new COM("Ionic.Zip.ZipFile");
Pour information, j'ai bien rajouté la ligne suivante (qui est bien prise en compte) dans mon fichier de configuration "php.ini" :

Code : Tout sélectionner

extension=php_com_dotnet.dll