249 votes

Erreur fatale : La classe 'ZipArchive' n'a pas été trouvée dans

J'ai un problème : j'ai installé 'Archive_Zip 0.1.1' sur un serveur Linux, mais lorsque j'essaie d'exécuter le script pour créer le fichier zip, l'erreur fatale suivante se produit

Erreur fatale : Classe ZipArchive introuvable dans ...

où je mets le code

$zip = new ZipArchive;
var_dump($zip);
$res = $zip->open($filename, ZipArchive::OVERWRITE);
if ($res !== TRUE) {
    echo 'Error: Unable to create zip file';
    exit;
}
if (is_file($src)) {
    $zip->addFile($src);
} else {
    // echo "<br>" . dirname(__FILE__) . $src;//'/install1';
    if (!is_dir($src)) {
         $zip->close();
         @unlink($filename);
         echo 'Error: File not found';
         exit;
    }
    recurse_zip($src, $zip, $path_length);
}
$zip->close();
echo "<br>file name ".$filename;

mais il ne trouve pas le fichier de classe.

Veuillez m'indiquer la solution. Que dois-je faire pour résoudre le problème ? J'ai également mis php.ini dans le dossier où se trouve script, mais cela ne fonctionne pas.

-15voto

plutov.by Points 8991

1) Vous devez require votre fichier avec ZipArchive fichier.

require 'path/to/file/ZipArchive.php';

2) Ou utiliser __autoload de la classe. En PHP 5, il s'agit de la méthode __autoload().

function __autoload($class_name) {
    require_once $class_name . '.php';
}

$obj  = new MyClass1(); // creating an object without require.

http://www.php.net/manual/en/language.oop5.autoload.php

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X