Supporto » Sviluppare con WordPress » Problema Unzip funzionante ovunque ma non in function o plugin

  • Otta

    (@otta)



    Salve a tutti, dovrei fare l’unzip da un plugin al tema quindi, per prova, ho realizzato un file test.php che fa l’unzip di un file.zip e sposta il contenuto dalla directory del file alla directory del tema.
    Funziona perfettamente sia in locale che sul server quando richiamo direttamente dal browser il file test.php ma se inserisco la funzione all’interno del function.php o all’interno di un plugin non funziona, ho provato a cambiare i permessi, qualsiasi cosa … niente!

    Ho utilizzato sia la funzione nativa di wordpress (con WP_Filesystem();) che la funzione a seguire ma il risultato è identico, non credo che sia un problema di codice piuttosto mi sorge il dubbio che debba richiamare qualche classe … qualsiasi suggerimento è più che apprezzato, grazie!

     $file = 'files.zip';// get the absolute path to $file$path = pathinfo(realpath($file), PATHINFO_DIRNAME);$destination = ABSPATH . 'wp-content/themes/miotema/';
    $zip = new ZipArchive;$res = $zip->open($file);if ($res === TRUE) {  // extract it to the path we determined above  $zip->extractTo($destination);  $zip->close();  echo "WOOT! $file extracted to $destination";} else {  echo "Doh! I couldn't open $file";}    
Stai vedendo 1 repliche (di 1 totali)
  • Otta

    (@otta)

    Risolto,
    per altri utenti con lo stesso problema di seguito trovate il codice funzionante:

    register_activation_hook( __FILE__, 'my_theme_files_setup' );        function my_theme_files_setup(){        // Unzip files for my theme        require_once(ABSPATH .'/wp-admin/includes/file.php');        global $wp_filesystem;        WP_Filesystem();        $filename = 'file.zip';        $zip_from = get_home_path().'wp-content/plugins/my-plugin/'.$filename;        $zip_to = str_replace(ABSPATH, $wp_filesystem->abspath(),  get_template_directory().'');            if(!unzip_file($zip_from,$zip_to))        {                }    }  
    
Stai vedendo 1 repliche (di 1 totali)
  • Devi essere collegato per rispondere a questo topic.