eBD:TMPFILE
Sintaxis:
<eBD:TMPFILE (SOURCE="varname" | VALUE="value" | FILEPATH="value" | TABLE="value" IDFIELD="value" IDVALUE="value" ADDWHERE="value" FIELD="value") VAR="varname" [NAME="value" | MAXSIZE="number" | EXTENSION="ext" | MODE="binary|text" | CHARSET="charset"] />
Acción:
Crea un archivo temporal y dejara el puntero al archivo en la variable VAR. El contenido puede venir, o de un input de tipo "file" (SOURCE), de un valor especifico VALUE o del campo fichero de una tabla. Se puede devolver un tmpfile como un archivo dinámico o una función de Web Service, así como crear el fichero a partir de una URL de un FILEPATH directamente.
También se le puede especificar la extensión que tendrá el fichero, mediante EXTENSION.
Ejemplo:
<eBD:TMPFILE SOURCE="imagen" VAR="fichero_source"/> <eBD:TMPFILE VALUE="esto sera el valor del fichero" VAR="ficherotxt"/> <eBD:TMPFILE TABLE="test" IDFIELD="idtest" IDVALUE="22" FIELD="imagen" VAR="copia_imagen"/>
eBD:READ
Sintaxis:
<eBD:READ FILE="varname" SIZE="size_bytes" BUFFER="varname" [VAR="bytes_read"] />
Acción:
Lee del fichero temporal especificado en FILE el número de bytes en SIZE y lo almacena en la variable BUFFER. Si se especifica el parámetro VAR se guardará el número de bytes leidos.
Ejemplo:
<eBD:READ FILE="fichero_source" SIZE="500" BUFFER="todo"/>
Ejemplo de uso:
Creación de un fichero dinámico que retorna un fichero almacenado en una tabla.
<eBD:CODE>
<eBD:DOC>
Vamos a leer en bloques de 64Kbtes
</eBD:DOC>
<eBD:SET VAR="bytes" VALUE="65536"/>
<eBD:TMPFILE TABLE="tmp_ficheros" FIELD="fichero" IDFIELD="idfichero" IDVALUE="2" VAR="mi_pdf"/>
<eBD:SET VAR="bytesleidos" VALUE="$bytes"/>
<eBD:WHILE EXPR="$bytesleidos=$bytes">
<eBD:READ FILE="mi_pdf" SIZE="$bytes" BUFFER="tmp" VAR="bytesleidos"/>
<eBD:SET VAR="resultado" VALUE="$resultado$tmp"/>
</eBD:WHILE>
<eBD:OUT VALUE="$resultado"/>
</eBD:CODE>
eBD:READLINE
Sintaxis:
<eBD:READLINE FILE="varname" (VAR="varname" | ADDTO="varname") />
Acción:
Lee una linea del fichero temporal especificado en FILE y se guardar en la variable VAR, o se concatena con la variable especificada en ADDTO.
Ejemplo:
<eBD:READLINE FILE="fichero_source" ADDTO="todo"/>
eBD:WRITE
Sintaxis:
<eBD:WRITE FILE="varname" (VALUE="value" | EXPR="expression") />
Acción:
Escribe en la posición actual del puntero del fichero FILE el contenido o expresión especificada.
Ejemplo:
<eBD:WRITE FILE="fichero_source" VALUE="se añade al fichero...."/>
eBD:SEEK
Sintaxis:
<eBD:SEEK FILE="varname" TO="bytes" />
Acción:
Posiciona el puntero del fichero FILE en el byte especificado en TO.
Ejemplo:
<eBD:SEEK FILE="fichero_source" TO="0"/>
eBD:XSLTPROC
Sintaxis:
<eBD:XSLTPROC XSLT="template_name" INPUT="varname" [VAR="varname"] [OUTPUT="TMPFILE"] [TYPE="PDF"] />
Acción:
Ejecuta una transformación XSLT sobre un string o fichero temporal que contiene datos XML. La variable indicada en INPUT puede ser un escalar o un fichero creado con TMPFILE. La variable indicado en VAR contendrá el resultado como un escalar, o como un TMPFILE si se ha especificado así con el parámetro OUTPUT. El parámetro TYPE permite forzar la ejecución del proceso FOP para generar el documento PDF a partir del resultado de la transformación.
Ejemplo:
<eBD:XSLTPROC XSLT="xml_to_html" INPUT="xmlfile" VAR="data" OUTPUT="TMPFILE" />
eBD:EXTRACT
Sintaxis:
<eBD:EXTRACT FILE="tmpfile" [VAR="array"] [CHARSET="charset"] />
Acción:
Devuelve un array de TMPFILEs con todos los ficheros que estaban comprimidos en el TMPFILE original. Los posibles formatos que soporta la instrucción extract son: zip, tgz, tar.gz, gz, tar, jar, par, tbz, tar.bz2, bz2, lzma, Z
El parámetro opcional "CHARSET" permite definir el charset en el que están codificados los nombres de los ficheros dentro del archivo comprimido. Las claves que podemos usar en el array son "name" y "path", donde name nos devolverá el nombre del fichero, y path, su ruta.
<eBD:EXTRACT FILE="fichero" VAR="extracted" />
<ebd:foreach array="extracted" iterator="file">
<ebd:out value="Fichero subido! @file{name}"/><br> </ebd:foreach>