J'ai essayé d'ouvrir un document Word dans mon script, mais je reçois la même erreur.
Fatal error: Class 'COM' not found in /Applications/XAMPP/xamppfiles/htdocs/**/**.php on line 3
Mon code:
<?php
$Word = new COM("Word.application") or die("Unable to instantiate Word");
$Word->Visible = 1;
$Word->Documents->Open("wordfile.docx");
$temp = $Word->Dialogs->Item(228); // returns wdDialogToolsWordCount dialog object
$temp->Execute(); //updates the Word count
$numwords = $temp->Words(); //gets the words out of it
echo 'Word count = '.$numwords;
$Word->Quit();
?>
J'ai essayé de changer php.ini
et supprimez les points-virgules de la section COM
.
[com]
path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
com.typelib_file =
allow Distributed-COM calls
com.allow_dcom = true
autoregister constants of a components typlib on com_load()
com.autoregister_typelib = true
register constants casesensitive
com.autoregister_casesensitive = false
show warnings on duplicate constat registrations
com.autoregister_verbose = true
et toujours obtenir la même erreur.
J'utilise un XAMMP
sur mac et un hébergement web basé sur linux.
Depuis PHP 5.4.5, COM et DOTNET ne sont plus intégrés au php core. Vous devez ajouter le support COM dans php.ini:
[COM_DOT_NET]
extension=php_com_dotnet.dll
Sinon, vous verrez ceci dans votre journal des erreurs: Erreur fatale: Classe 'COM' introuvable
L'extension est incluse avec php 5.4.5 pour Windows.
Voir Exigences COM :
Les fonctions COM ne sont disponibles que pour la version Windows de PHP.
La prise en charge de .Net nécessite PHP 5 et le runtime .Net.