Saludos, la pregunta que hare aqui no esta necesariamente relacionada con
cake, pero cometo el pecado de hacerla en la lista por si alguien sabe como
ayudarme, pues estoy usando cakephp en el proyecto.

Actualmente tengo una aplicacion que edita un archivo binario cambiando 16
bytes que estan en la misma posicion siempre (640 bytes despues del inicio
del archivo), sin embargo lo que estoy haciendo es leer TODO el archivo para
luego escribirlo usando la funcion pack, lo que siento que es bastante torpe
y desconsiderado con la memoria ram (considerando que necesito hacer esto
cientos de veces al instante). Este es el código que estoy utilizando:

        if ( !file_exists($cache) || @$this->params['named']['cache'] ===
0){
            $handle     = fopen($filename, "r+b");
            $init         = fread($handle, 640);
                      fread($handle, 16); //esto debe ser exactamente igual
a lo que se reemplaza.
            $full        = fread($handle, filesize($filename)); // leemos el
resto para escribirlo despues
            fclose($handle);

            //las concateno para que sea human readable
            $contents = pack('a640'.'A16'.'a*', $init, $this->params['id'],
$full);

            $handle = fopen($cache, "w+b");
            fwrite($handle, $contents);
            fclose($handle);
            FireCake::fb(" GENERADO ("....@$this->params['named']['cache'].")
$referer ($cache)");
        }

Alguna idea de como hacerlo "mas eficiente"? ¿puedo editarlo sin necesidad
de cargar todo el archivo en memoria?

Arnold

Check out the new CakePHP Questions site http://cakeqs.org and help others with 
their CakePHP related questions.

You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected] For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en

Reply via email to