
本文档详细介绍了如何使用 PHP 将上传的图片与数据库中特定的书籍关联起来。通过修改 HTML 表单结构,并结合 PHP 的文件上传和数据库更新功能,实现根据用户在下拉菜单中选择的书籍,将上传的图片保存到服务器,并将图片路径更新到对应书籍的数据库记录中。本文提供完整的代码示例和步骤说明,帮助开发者快速实现该功能。
为了能够将用户选择的书籍信息传递到 PHP 处理脚本,我们需要将 zuojiankuohaophpcnselect> 元素放置在 <form> 标签内部。同时,为 <select> 元素添加 name 属性,以便 PHP 能够通过 $_POST 数组获取用户选择的书籍 ID。
<div class="box1">
<form action='includes/upload.php' method='POST' enctype='multipart/form-data'>
<select name='booktitle' class="books-title">
<option selected disabled>-- select book --</option>
<?php
$sql='SELECT `book_id`, `book_title` FROM `books`';
$result=$connection->query($sql);
while($rs=$result->fetch_object()) printf('<option value="%s">%s</option>', $rs->book_id, $rs->book_title );
?>
</select>
<input type='file' name='file' class='uploadImg' />
<button type='submit' name='submitImg'>UPLOAD</button>
</form>
</div>代码解释:
在 upload.php 文件中,我们需要处理文件上传,并将上传的图片路径更新到数据库中。
立即学习“PHP免费学习笔记(深入)”;
<?php
if( $_SERVER['REQUEST_METHOD']=='POST' && isset(
$_POST['booktitle'],
$_FILES['file']
)){
$obj=(object)$_FILES['file'];
$name=$obj->name;
$tmp=$obj->tmp_name;
$size=$obj->size;
$error=$obj->error;
$ext=strtolower( pathinfo( $name, PATHINFO_EXTENSION ) );
$allowed = array('jpg', 'jpeg', 'png');
$bid=(int)$_POST['booktitle'];// `book_id` from `select` menu
if( is_uploaded_file( $tmp ) && $error==UPLOAD_ERR_OK && in_array( $ext, $allowed ) && $size < 1024 ){
$destination=sprintf( '../../images/book_image/%s.%s', $bid, $name );
$status=move_uploaded_file( $tmp, $destination );
if( $status ){
$sql='update `books` set `book_picture`=? where `book_id`=?';
$stmt=$connection->prepare($sql);
$stmt->bind_param('ss',$destination,$bid);
$stmt->execute();
}
ob_clean();
exit( header( "Location: index.php?uploadsucess&status=$status" ) );
}
}
?>代码解释:
请求方法和参数检查:
文件信息提取:
书籍 ID 获取:
文件上传条件判断:
文件上传和数据库更新:
重定向:
注意事项:
通过以上步骤,我们可以实现根据用户在下拉菜单中选择的书籍,将上传的图片保存到服务器,并将图片路径更新到对应书籍的数据库记录中。 这种方法可以方便地管理书籍图片,并将其与数据库中的书籍信息关联起来。 记得在实际应用中,根据你的具体需求进行适当的调整和优化。
以上就是为特定书籍添加图片:PHP 上传与数据库更新教程的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号