php - 如何将图像文件名内爆到mysql数据库中
问题描述
我正在将多个图像上传到我的 sql 数据库,但我的 implode 方法不起作用......
if(isset($_POST['submit'])) {
$id = $_POST['id'];
for($i = 0; $i < count($_FILES['file_upload']['name']); $i++){
$filetmp = $_FILES['file_upload']['tmp_name'][$i];
$filename = basename($_FILES['file_upload']['name'][$i]);
$filetype = $_FILES['file_upload']['type'][$i];
$filepath = "../images/".$filename;
move_uploaded_file($filetmp,$filepath);
}
$mainfiles = implode(", ", $filename);
$sql = "INSERT INTO pictures2 (";
$sql .= "image, photograph_id";
$sql .= ") VALUES ('";
$sql .= $database->escape_character($mainfiles) ."', '";
$sql .= $id ."')";
$result = $database->query($sql);
if($result){
$session->message('<div class="success-msg">Pictures uploaded sucessfully.</div>');
}
}
解决方案
做出这样的改变,我正在考虑$id
是你的photograph_id
if (isset($_POST['submit'])) {
$id = $_POST['id'];
for ($i = 0; $i < count($_FILES['file_upload']['name']); $i++) {
$filetmp = $_FILES['file_upload']['tmp_name'][$i];
$filename[] = [$id, basename($_FILES['file_upload']['name'][$i])]; // here changes
$filetype = $_FILES['file_upload']['type'][$i];
$filepath = "../images/" . $filename;
move_uploaded_file($filetmp, $filepath);
}
// I made changes at below code
$valueStr = array_map(function ($item) {
return "('" . implode("','", $item) . "'),"; // to convert into `,` separated values
}, $filename);
$mainfiles = rtrim(implode("", $valueStr), ','); // removing right training `,`
$sql = "INSERT INTO pictures2 (";
$sql .= "image, photograph_id";
$sql .= ") VALUES ('";
$sql .= $database->escape_character($mainfiles) . "', '";
$sql .= $id . "')";
$result = $database->query($sql);
if ($result) {
$session->message('<div class="success-msg">Pictures uploaded sucessfully.</div>');
}
}
推荐阅读
- c# - 如何将 application/x-www-form-urlencoded 转换为 JSON?
- python-3.x - 我如何在 python 中找到带有 id 的元素,可见?
- ruby - 使用 Ruby 将终端放在前面
- c# - 文本框光标的起始位置
- c# - 识别数据结构
- python - 使用 Pandas 计算 JSON 文件中的唯一项目
- javascript - 使用工人时如何停止承诺循环
- python - 在非调试模式下无法在 create_view() 中捕获异常
- java - Spring Data:findByMyListIsEmpty() 抛出编译错误
- python - 关于在 Keras fit_generator 中使用 python 中的数据生成器的困惑