我遇到的问题是我在PHP / MySQL文档库中使用的一些代码,上传/下载工作得很好,在我的表中我有一个字段值,它是以后使用的值的组合通过json解码,您将在后面看到。
在这个具体示例中,以下是从$ fileArray返回的内容:
[{
"usrName":"lady.jpg",
"name":"\/home\/sites\/isodrive.co.uk\/public_html\/portal\/WorkBenchFiles\/lady_4k5kye5a.jpg",
"size":2915788,
"type":"image\/jpeg"
}]
现在,这是我用来在用户上传文件后更新doc_files表中的记录的代码:
global $dal;
$tblDocs = $dal->Table("doc_files");
$fileArray = my_json_decode($values["file"]);
for($i = 0; $i < count($fileArray); $i++)
{
$tblDocs->Value["parent_folder_id"]=$_SESSION["current_folder"];
$tblDocs->Value["file_type"]="file";
$tblDocs->Value["file"]=my_json_encode(array($fileArray[$i]));
$tblDocs->Value["hash"]=generatePassword(HASH_LENGTH);
$tblDocs->Value["name"]=$fileArray[$i]["usrName"];
$tblDocs->Value["ownerid"]=$_SESSION["user_id"];
$tblDocs->Value["created"]=now();
$tblDocs->Value["filesize"]=$fileArray[$i]["size"];
$tblDocs->Add();
}
正如您所看到的,它与Value [“name”]字段一起工作正常,并且数组确实包含所有信息,但是对于filesize返回null值,即使您可以在数组输出。
我唯一能想到的是当你查看数组输出时,字段标记用“”标记,值用“”标记,例如“usrName”:“lady.jpg”,但是当您查看输出的大小时,只有“大小”有引号,值本身没有标记。