转变

笔记

你需要配置 phpmyadmin配置存储 用于使用转换 feature.

介绍

要启用转换,您必须设置 column_info 表和适当的指令。请看 配置 on how to do so.

您可以将不同的转换应用于每个内容 柱子。转换将采用每列的内容和 使用所选中定义的某些规则转换 transformation.

假设您有一个包含文件名的列'filename'。一般 您只能在PHPMYADMIN中看到此文件名。使用转换 您可以将该文件名转换为HTML链接,以便您可以单击 在列的链接上的phpmyadmin结构内部,将看到 在新浏览器窗口中显示的文件。使用转型 选项您还可以指定字符串以将/ prepend追加为字符串或 您希望存储在中的格式。

概述所有可用的转型及其 选项,您可以咨询您的 <www.your-host.com>/<your-install- dir>/transformation_overview.php. installation.

有关如何有效使用转换的教程,请参阅我们的 链接部分 on the 官方phpmyadmin主页。

用法

去你的 tbl_structure.php. 页面(即通过点击到达 表的“结构”链接)。单击“更改”(或更改) 图标)和在那里,您将看到三个新字段在线的末尾。 They are called ‘媒体类型','浏览器转换'和 '转型选项'。

  • 场 '媒体类型'是一个下拉领域。选择 媒体类型 that 对应于列的内容。请注意转换 只要没有不活跃 媒体类型 is selected.
  • 字段“浏览器转换”是一个下拉字段。你可以 从希望越来越多的预定义转换中选择。 有关如何构建您自己的转换的信息,请参阅下文。 有全局转换和Mimetype绑定的转换。 全局转换可用于任何Mimetype。他们会采取 必要时,Mimetype考虑。 Mimetype绑定 变换通常仅在某个Mimetype上运行。有 在主模型上运行的转换(如“图像”), 哪个最有可能占据亚型,以及那些人 仅在特定子类型上操作(如“图像/ jpeg”)。您可以使用 未定义功能的MIMETYP的转换 为了。选择右侧没有安全检查 转型,所以照顾输出的样子。
  • 字段“转换选项”是一个自由型文本域。你有 在此输入转换功能特定选项。通常是 变换可以使用默认选项运行,但通常是一个 仔细查找概述以查看哪些选项是必要的。 就像枚举/ set-fields一样,你必须拆分几个选项 使用“a”,'b','c',...(请注意丢失的空白)。这是 因为内部的选项将被解析为阵列,离开 首先将阵列中的第一个元素值等值。如果你想 要指定MIME字符集,您可以在其中定义它 转换_Options。你必须把它放在前面 定义的特定mime-transform的选项,作为最后一个值 该集合。使用格式“'; charset = xxx'“。如果您使用转换,请 您可以指定2个选项,并且您希望追加一个字符 设置,输入“'''第一个参数','第二个参数','charset = Us-Ascii'。 但是,您可以使用默认值为参数:“'','','charset = US-ASCII'“。可以使用默认选项使用 $cfg['DefaultTransformations']

文件结构

Mimetypes的所有特定变换都是通过课程定义的 文件在目录'库/类/插件/转换/'中。每一个 他们延伸了一定的转换抽象类 图书馆/类/插件/转换/ ABS。

它们存储在文件中,以便于自定义和轻松添加 new transformations.

因为用户无法进入自己的Mimetypes,所以它保持确定 转型总是有效。申请a是没有意义的 转换为Mimetype Transform-Function不知道 handle.

There is a file called ‘libraries/classes/Plugins/Transformations.php’ that provides some 任何其他转换功能都可以包含的基本功能。

The file name convention is [Mimetype]_[Subtype]_[Transformation Name].php, while the abstract class that it extends has the name [Transformation Name]TransformationsPlugin. All of the 必须由转换插件实现的方法是:

  1. MetmimeType()和makmimeubtype()在主类中;
  2. GetName(),getInfo()和ApplyTransformation()在抽象类中 it extends.

getMimetype(),getmimeubtype()和getName()方法返回 MIME类型的名称,MIME子类型和相应的转换。 getInfo()返回转换的描述和可能 它可能会接收和ApplyTransformation()的选项是该方法 转换插件的实际工作是否执行。

Please see the libraries/classes/Plugins/Transformations/TEMPLATE and libraries/classes/Plugins/Transformations/TEMPLATE_ABSTRACT files for adding 您自己的转换插件。您也可以生成一个新的 转换插件(有或没有抽象转换 class), by using scripts/transformations_generator_plugin.sh or scripts/transformations_generator_main_class.sh.

ApplyTransformation()方法始终通过三个变量:

  1. $缓冲 - 包含列内部的文本。这是 文字,你想改变。
  2. $选项 - 包含转换的任何用户传递的选项 用作数组。
  3. $ meta. - 包含有关您列的信息的对象。这 数据来自输出 mysql_fetch_field() 功能。这意味着,所有 对象属性描述了 手册页 可用 可变,可用于相应地转换列 unsigned / zerofill / not_null / ...属性。 $ meta->mimetype 变量包含原始 媒体类型 of the column (i.e. '文本/平原','图像/ jpeg'等)