Visualizzazione dei risultati da 1 a 3 su 3

Hybrid View

  1. #1

    Classe personalizzata per archivi zip va in over memory

    Sto creando una classe zip personalizzata, che prende come base la classe nativa ZipArchive() di php.
    Visti i limiti di scope del php, ho aggirato il problema di importazione dell'oggetto, in questo modo:

    Codice PHP:
    //messa all'esterno della classe
    $zip = new ZipArchive();

    class 
    zip_functions{

      protected function 
    _zip(){
        global 
    $zip;
        return 
    $zip;
      }

        [...]



    Fin qui tutto bene, tramite il metodo _zip() posso recuperare l'oggetto perché la classe zip_functions me lo vede correttamente.

    Il problema nasce quando uso i metodi di ZipArchive. Per esempio, ho creato un semplice metodo per aprire un file archivio:

    Codice PHP:
    public function open$filename null ){
       if( 
    $filename === null ){
          return 
    false;    
       }

       if( 
    $this->_zip()->open($filename) === true ){ 
          return 
    true
       } 

       return 
    false;

    Quando lo eseguo il php mi dice che non ha memoria sufficiente e butta fuori l'errore:
    codice:
    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 65488 bytes)
    Non capisco perché occupi tutta questa memoria. Avete qualche idea su come risolvere?

  2. #2
    Scusa ma non capisco l'utilità o la necessità della classe zip_functions.


    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Ho intenzione di costruire metodi per facilitarmi alcune operazioni che andrò a farmi (controlli, formattazioni dei nomi, ecc.).
    Potrei farli esterni, ma con una classe personalizzata ho già tutto predisposto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.