所以我了解到,当一个文件上传到Drupal中时,会得到fid作为回报,您可以在数据库的files表中找到它。我一直在看下面的字符串,我希望有人能解释每个部分。

a:2:{i:0;s:4:"9201";i:1;s:4:"9206";}

我可以看到这里的fid分别是9201和9206,我假设i:0i:1与文件上传的顺序有关但剩下的是什么?
此外,如果重要的话,这个特定的字符串是从带有多文件上载字段的表单数据打印的结果。

最佳答案

当传递一个数组时,它是PHP的serialize()函数的返回值,相当于:

array(
  0 => "9201",
  1 => "9206"
)

您可以使用unserialize()来反转该过程。
Drupal(像许多应用程序一样)将一些设置保存在序列化字符串中,而不是为每个可能的设置创建数据库表。
编辑
只需添加,a:2表示要跟随的变量类型是一个包含2个元素的数组,s:4表示变量类型是一个包含4个字符的字符串。i表示整数类型。

10-04 23:17