You need to have configured the phpMyAdmin 高级功能 for using transformations feature.
To enable transformations, you have to setup the
table and the proper directives. Please see the 设置 on how to do so.
假设你有一个存有文件名的字段 ‘文件名’ 。正常情况下你只能在 phpMyAdmin 中看到文件名。通过转换你可以将它们转换成一个 HTML 链接，你就能直接在 phpMyAdmin 中点击并在浏览器的新窗口中看到这个文件。你还可以通过转换选项来设置转换所需要的参数。
For a general overview of all available transformations and their options, you can consult your <www.your-host.com>/<your-install- dir>/transformation_overview.php installation.
For a tutorial on how to effectively use transformations, see our Link section on the official phpMyAdmin homepage.
Go to your tbl_structure.php page (i.e. reached through clicking on the ‘Structure’ link for a table). There click on “Change” (or change icon) and there you will see three new fields at the end of the line. They are called ‘MIME-type’, ‘Browser transformation’ and ‘Transformation options’.
- ‘MIME 类型’ 是一个下拉框。选择与字段内容一致的 MIME 类型。请注意如果没有选择任何 MIME 类型转换功能是不起作用的。
- The field ‘Browser transformation’ is a drop-down field. You can choose from a hopefully growing amount of pre-defined transformations. See below for information on how to build your own transformation. There are global transformations and mimetype-bound transformations. Global transformations can be used for any mimetype. They will take the mimetype, if necessary, into regard. Mimetype-bound transformations usually only operate on a certain mimetype. There are transformations which operate on the main mimetype (like ‘image’), which will most likely take the subtype into regard, and those who only operate on a specific subtype (like ‘image/jpeg’). You can use transformations on mimetypes for which the function was not defined for. There is no security check for you selected the right transformation, so take care of what the output will be like.
- The field ‘Transformation options’ is a free-type textfield. You have
to enter transform-function specific options here. Usually the
transforms can operate with default options, but it is generally a
good idea to look up the overview to see which options are necessary.
Much like the ENUM/SET-Fields, you have to split up several options
using the format ‘a’,’b’,’c’,…(NOTE THE MISSING BLANKS). This is
because internally the options will be parsed as an array, leaving the
first value the first element in the array, and so forth. If you want
to specify a MIME character set you can define it in the
transformation_options. You have to put that outside of the pre-
defined options of the specific mime-transform, as the last value of
the set. Use the format “’; charset=XXX’”. If you use a transform, for
which you can specify 2 options and you want to append a character
set, enter “‘first parameter’,’second parameter’,’charset=us-ascii’”.
You can, however use the defaults for the parameters: “’‘,’‘,’charset
=us-ascii’”. The default options can be configured using
All specific transformations for mimetypes are defined through class files in the directory ‘libraries/classes/Plugins/Transformations/’. Each of them extends a certain transformation abstract class declared in libraries/classes/Plugins/Transformations/Abs.
There is a file called ‘transformations.lib.php’ that provides some basic functions which can be included by any other transform function.
The file name convention is
Name].class.php, while the abtract class that it extends has the
[Transformation Name]TransformationsPlugin. All of the
methods that have to be implemented by a transformations plug-in are:
- getMIMEType() and getMIMESubtype() in the main class;
- getName(), getInfo() and applyTransformation() in the abstract class it extends.
The getMIMEType(), getMIMESubtype() and getName() methods return the name of the MIME type, MIME Subtype and transformation accordingly. getInfo() returns the transformation’s description and possible options it may receive and applyTransformation() is the method that does the actual work of the transformation plug-in.
Please see the libraries/classes/Plugins/Transformations/TEMPLATE and
libraries/classes/Plugins/Transformations/TEMPLATE_ABSTRACT files for adding
your own transformation plug-in. You can also generate a new
transformation plug-in (with or without the abstract transformation
class), by using
The applyTransformation() method always gets passed three variables:
- $buffer - Contains the text inside of the column. This is the text, you want to transform.
- $options - Contains any user-passed options to a transform function as an array.
- $meta - Contains an object with information about your column. The data is drawn from the output of the mysql_fetch_field() function. This means, all object properties described on the manual page are available in this variable and can be used to transform a column accordingly to unsigned/zerofill/not_null/… properties. The $meta->mimetype variable contains the original MIME-type of the column (i.e. ‘text/plain’, ‘image/jpeg’ etc.)