我希望这是有道理的,我已经使用这段代码几天了,目前感觉有点不实用!
我有一个庞大的表单,可以将大量信息传递到数据库中,表单的一个组成部分涉及文件上传。
我正在创建一个名为 uploads 的数组,并从我的数据库中传递列名,希望我可以使用它们来生成一个查询,该查询将自动将它收到的任何信息输入到相应的列中。
这是我的字段的代码示例:
<label>Upload copy front page of contract and relevant special condition(s)</label>
<input type="file" name="upload[UploadCopyContr]" value="<?php echo $out['UploadCopyContr']?>" />
数组在接收端进行处理,文件上传到所需的文件夹没有任何问题,我遇到的问题是如何动态定位列字符串,以便生成查询字符串。
这将是我希望最终得到的查询:
UPDATE $table SET $column = $value WHERE
那么如何从我的数组中提取列名并将其放入变量中呢?如果我 var_dump ($_FILES["upload"]); 我得到以下回复
["name"]=> array(4) { ["UploadCopyExtr"]=> string(9) "test2.pdf" ["UploadCopyContr"]=> string(9) "test1.pdf" ["UploadCopyTaxDesigLttr"]=> string(0) "" ["UploadOthTaxDesigDoc"]=> string(0) ""
所以我知道数组中的值,我只是不知道如何定位它们!
我可以使用 $_FILES["uploads"]["UploadCopyExtr"] 但这对于动态生成的查询没有好处。
这是我的文件上传代码 - 运行良好。
$path = 'uploads/';
foreach ($_FILES["upload"]["error"] as $key => $error)
{
$tmp_name = $_FILES["upload"]["tmp_name"][$key];
{
if (!$tmp_name) continue;
}
$name = $_FILES["upload"]["name"][$key];
if ($error == UPLOAD_ERR_OK)
{
// Check if directory exists and create it if not.
if(!is_dir($path . $_POST["AccountID"] ."/". $_POST["PropertyID"])) {
mkdir($path . $_POST["AccountID"] ."/");
mkdir($path . $_POST["AccountID"] ."/" . $_POST["PropertyID"] ."/");
}
if (move_uploaded_file($tmp_name, $path . $_POST["AccountID"] ."/". $_POST["PropertyID"] ."/".$name))
$uploaded_array[] .= "Uploaded file '".$name."'.<br/>\n";
else
$errormsg .= "Could not move uploaded file '".$tmp_name."' to '".$name."'<br/>\n";
}
else $errormsg .= "Upload error. [".$error."] on file '".$name."'<br/>\n";
}
我没有包含我的查询示例,因为我对问题的这方面没有任何问题,我只想知道如何动态定位这些列名,如果这两个是内在链接的,请原谅我,我很乐意提供需要什么信息。