Verzeihen Sie die scheinbare Lahmheit hier. Ich arbeite mit einem Shared Hosting mit Onnly Zugriff auf cpanel und Host sind nicht bereit, Composer noch PHPWord in meinem Namen zu installieren. Ist es möglich, PHPWord zu installieren, indem Sie einfach die ZIP-Datei von github herunterladen? DankePHPWord Installation ohne Composer
Antwort
Sie können Composer lokal verwenden und dann die Dateien auf den Server hochladen.
fragte ich darüber hier: Using Composer locally then uploading files through FTP
Grundsätzlich, wenn Sie nicht Composer auf dem Server ausgeführt werden können, ist es lokal verwenden, dann die notwendigen Dateien auf den Server kopieren.
Der Grund, warum Sie es verwenden sollten, ist, weil es die Abhängigkeiten für Sie herunterlädt, ohne dass Sie eine Menge Dinge manuell konfigurieren müssen. Das ist sehr viel der Punkt des Komponisten :)
composer require phpoffice/phpword
Using version ^0.13.0 for phpoffice/phpword
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing pclzip/pclzip (2.8.2)
Downloading: 100%
- Installing phpoffice/common (v0.2.6)
Downloading: 100%
- Installing zendframework/zend-stdlib (2.4.13)
Downloading: 100%
- Installing zendframework/zend-validator (2.4.13)
Downloading: 100%
- Installing zendframework/zend-escaper (2.4.13)
Downloading: 100%
- Installing phpoffice/phpword (v0.13.0)
Downloading: 100%
Dankeschön zu konvertieren. Aber keine Idee, wie man die Zend-Komponenten bekommt: Zend \ Escaper-Komponente Zend \ Stdlib-Komponente Zend \ Validator-Komponente, da ich nicht das Zend-Framework verwende? – Ojchris
Deshalb sollten Sie Composer verwenden. Weil es die Abhängigkeiten für Sie bekommen wird. – Andy
ja das habe ich vergessen. Danke – Ojchris
Download The PHpWord Zip-Datei von hier:https://github.com/PHPOffice/PHPWord/archive/develop.zip
Quelle :: https://github.com/PHPOffice/PHPWord
PHPWord erfordert die folgende Erweiterung:
- PHP 5.3.3+
- XML Parser Erweiterung
- Zend \ Escaper Komponente
- Zend \ Stdlib Komponente
- Zend \ Validator Komponente
- Zip Erweiterung (optional, verwendet OOXML und ODF zu schreiben)
- GD Erweiterung (optional verwendet, um Bilder hinzufügen)
- XMLWriter Erweiterung (optional, verwendet OOXML und ODF schreiben)
- XSL-Erweiterung (optional verwendet, um XSL-Stylesheet-Vorlage anwenden)
- dompdf Bibliothek (optional, verwendete PDF schreiben)
Beispiel Von grundlegender Verwendung von
PHPWord
Bibliothek.
danke. Aber keine Idee, wie man die Zend-Komponenten bekommt: Zend \ Escaper-Komponente Zend \ Stdlib-Komponente Zend \ Validator-Komponente, da ich nicht das Zend-Framework verwende? – Ojchris
Ja, ich mache es die ganze Zeit. Für PHPWord, würde ich die ZIP-Datei von GitHub herunterladen und den Inhalt des src Ordners in ein Verzeichnis mit dem Namen "lib \ PhpOffice \ PhpWord" verschieben. Sie benötigen dann einen PHP-Klassenlader. Ich benutze das immer für das Autoloading, vorausgesetzt, die Klassen sind korrekt Namespaced, was der Fall zu sein scheint.je nach Bedarf
$GLOBALS['class_path'] = array(__DIR__ . '/lib', __DIR__);
// Set-up class_path superglobal variable using php include_path as basis
if (!array_key_exists('class_path', $GLOBALS)) {
$GLOBALS['class_path'] = array();
foreach (explode(PATH_SEPARATOR, get_include_path()) as $path) {
// substitute __DIR__ path for '.' instead
if ($path == '.') {
array_push($GLOBALS['class_path'], realpath(__DIR__));
continue;
}
array_push($GLOBALS['class_path'], realpath($path));
}
}
if (!function_exists('import')):
function import($package = '') {
if (empty($package)) {
trigger_error("Package path must be specified.", E_USER_ERROR);
}
$package_bits = explode('\\', $package);
$package_path = implode(DIRECTORY_SEPARATOR, $package_bits) . '.php';
foreach ($GLOBALS['class_path'] as $path) {
$file = $path . DIRECTORY_SEPARATOR . $package_path;
if (file_exists($file)) {
require_once($file);
$entity_name = implode('\\', $package_bits);
if (!(class_exists($entity_name, false) ||
interface_exists($entity_name, false)
|| trait_exists($entity_name, false))) {
$caller = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1)[0];
trigger_error("Entity '" . $package . "' not found in file '" . $package_path . "' for import called in " .
$caller['file'] . " on line " . $caller['line'], E_USER_ERROR);
}
return;
}
}
}
endif;
spl_autoload_register('import');
Legen Sie Ihre $ GLOBALS [ 'class_path'] auf die Position des Verzeichnisses 'lib' und sicher sein, ' Verwendung' verwenden, bevor PHPWord zu instanziiert versucht.
Hoffe, das hilft!
danke für eine Meile. Zwei Dinge: diese Route gehen 1) irgendeine Idee, wie man die Zend-Komponenten bekommt: Zend \ Escaper-Komponente Zend \ Stdlib-Komponente Zend \ Validator-Komponente, da ich nicht das Zend-Framework verwende? 2) Ich arbeite mit dem codeigniter-Framework, ich schätze Ihren Rat zur Verwendung des Klassenladecodes. Danke – Ojchris
Ich würde das überhaupt nicht empfehlen. Wenn Sie Composer gemäß meiner Antwort verwenden, müssen Sie nichts tun. Es erstellt den Autoloader für Sie. – Andy
@Ojchris - Klingt, als hättest du 1) herausgefunden. Wie für 2, CI hat seinen eigenen Classloader. Soweit ich mich erinnere, hat es ein Verzeichnis unter der App, wo Sie Ihre eigenen Bibliotheken installieren. Ich erinnere mich an Zend installiert sowie einige zusätzliche Bibliotheken, die ich für eine Website heruntergeladen habe ich arbeitete. Leider blende ich gerade an dieser Stelle. Ich werde versuchen, in eines meiner alten Projekte zu schauen und zu sehen, wo dieses Verzeichnis ist. – Borgboy
Hier können Sie PHPWord ohne Komponist herunterladen: https://php-download.com/package/phpoffice/phpword
Auf dieser Seite alle Bibliotheken des Komponisten Netzwerk sind, aber Sie können ohne Komponist Installation alle von ihnen herunterladen.
- 1. ohne Grenze in PHPWord
- 2. Probleme bei der Installation von PHPword
- 3. Composer Installation irrelevant Bibliotheken
- 4. Opsworks-Installation Composer Fehler
- 5. Einschließlich Propel ohne Composer
- 6. Symfony2 Composer Installation eines neuen Bundles ohne Aktualisierung anderer Abhängigkeiten
- 7. phpword Komponist in ein anderes Verzeichnis installieren
- 8. Laden von Composer-Paketen ohne Verwendung von Composer (PHP)
- 9. Probleme bei der Installation Paket mit Composer
- 10. Probleme mit der Installation von Composer
- 11. Contentful ohne Composer
- 12. Laravel Paketinstallation ohne Composer
- 13. Composer Installation von hinten Proxy-Server
- 14. Installation Erweiterung mit Composer in yii2.0
- 15. Fehler in der Composer-Installation Laravel 5
- 16. Fehler bei der Installation Laravel über Composer
- 17. Redirect-Ausgabe der Composer-Installation in Textdatei
- 18. HumHub Installation durch eigenes Projekt Composer
- 19. PHP-Composer, lokal installiert, Remote-Installation benötigt?
- 20. Syntaxfehler bei der Installation von Composer?
- 21. Installation von Slim 3 mit Composer
- 22. Composer Fehler bei der Installation zu phpBB
- 23. Installieren Sie PHP ohne Webserver für Composer ..?
- 24. Verwenden Sie Composer ohne Packagist
- 25. Composer Load-Klasse ohne Namespace
- 26. Aktualisieren von Composer Autoload-Dateien ohne 'Composer-Update'?
- 27. Abhängigkeiten mit Composer ignorieren
- 28. PHPWORD wie kann ich ohne Pause verwenden Funktion addText
- 29. PHPWord in Laravel 5
- 30. Codeigniter und PHPWord
Ist die Shared Hosting-Beschränkung wegen eines Clients/Arbeit? Sich auf die Laune eines Dritten zu beschränken, klingt nicht nach Spaß. – castis
@castis Host sagte nur, dass sie es nicht unterstützen und Client bereits ein 12-Monats-Abonnement gemacht. Am Anfang dachte ich, dass ich nicht eine zusätzliche Komponente benötigen würde, um Word in pdf – Ojchris