我已經創建並驗證了for循環的圖片上傳。我現在正嘗試將這些值添加到數據庫中,並將其他值先前存儲在網站較早部分的會話中。PHP爲循環添加數據庫值
for循環
for($i=1; $i<=$items; $i++) {
$file_size = $_FILES["photo{$i}"]['size'];
$file_name = $_FILES["photo{$i}"]['name'];
$file_extn = strtolower(end(explode('.', $file_name)));
$file_temp = $_FILES["photo{$i}"]['tmp_name'];
$allowed = array('jpg', 'jpeg', 'gif', 'png');
if (in_array($file_extn, $allowed) === false) {
echo '<div class="alert alert-danger">[Photo '.$i.'] Format <strong>NOT</strong> acceptable. ';
echo 'Accepted formats: '. implode(', ', $allowed).'</div>';
} elseif($file_size > 1048576) {
echo '<div class="alert-danger">[Photo '.$i.'] Image is too big. Maximium file size is 1MB.</div>';
} else {
// add values to database
}
}
我這是怎麼打算的所有值插入到數據庫
$temp_data = array(
'name' => ucwords($_SESSION['name']),
'email' => strtolower($_SESSION['email']),
'delivery' => strtolower($_SESSION['delivery']),
'item' => sanitize($_GET['item']),
'price' => sanitize(($_GET['item'])*4.99),
'time_now' => date('Y-m-d H:i:s'),
'time_end' => date('Y-m-d H:i:s', strtotime("+15 day")),
'photo1' => $file_path
);
insert_temp($temp_data);
這是insert_temp
函數的代碼。
function insert_temp($temp_data) {
array_walk($temp_data, 'array_sanitize');
$fields = '`' . implode('`, `', array_keys($temp_data)) . '`';
$data = '\'' . implode('\', \'', $temp_data) . '\'';
mysql_query("INSERT into `temp` ($fields) VALUES ($data)");
}
這就是問題所在。我想插入先前已存儲爲會話的值,並將圖像存儲在數據庫的for循環中。我怎樣才能做到這一點,而不是使用for循環一遍又一遍地將相同的值插入到數據庫中?
提前許多感謝,哈利