php上传图片的代码并保存到数据库

connet.php数据库文件

<?php
mysql_connect("localhost","root",123)or die("sorry");
mysql_select_db("db_user");
mysql_query("set names utf8");
?>

 

do_photo.php文件

 

<?php
//上传你的头像
session_start();
if(isset($_POST['update']))
{
 include("connect.php");
  //限制上传照片的类型
  function photo_type($photo_file)
  {
    //查找"."第一次出现的位置
    //strrpos() 函数查找字符串在另一个字符串中最后一次出现的位置。如果成功,则返回位置,否则返回 false。


    $position=strrpos($photo_file,".");
    //如果返回不是false
   //substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。

//
     global $suffix;
     $suffix=substr($photo_file,$position+1,strlen($photo_file)-$position);
     return $suffix;
   
   //定义图片上传的目录名称
    //diretory(upload file)
  }  
   
   //$photo_name=$_FILES['myform']['name'];
  
   $ext=photo_type($_FILES['myform']['name']);
   //strtolower()转换小写   strtoupper()转换大写
   //$ext=strtolower($ext);
   $upload_dir='./upload/';
    if($suffix!="jpg" && $suffix!="gif")
    {
     die("不支持这个类型的图片");
    }
      //转移到./upload/
      //mova_uploaded_file()
    $uploadfile=$upload_dir.time().".".$suffix;
    
     if(move_uploaded_file($_FILES['myform']['tmp_name'],$uploadfile))
     {
       $sql1="update yonjian set photo='{$uploadfile}' where id='{$_SESSION['id']}'";
      if(mysql_query($sql1))
      {
      header("location:account.php");
      }
     }


}


?>
<form  name="ljklj" action="do_photo.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">文件
    
        <input name="myform" type="file"  value="浏览" >
  <input type="submit" name="update" value="update">   
</form>

请诸位高手多给建议,我在此多谢 

 

 

数据库为

/*
Navicat MySQL Data Transfer

Source Server         : jiang
Source Server Version : 50155
Source Host           : localhost:3306
Source Database       : db_user

Target Server Type    : MYSQL
Target Server Version : 50155
File Encoding         : 65001

Date: 2011-11-09 22:12:56
*/

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `photo`
-- ----------------------------
DROP TABLE IF EXISTS `photo`;
CREATE TABLE `photo` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(50) DEFAULT NULL,
  `photo` varchar(300) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;

-- ----------------------------
-- Records of photo
-- ----------------------------

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
实现多图片上传并保存数据库,可以按照以下步骤进行: 1. 在前端页面中,使用 input[type="file"] 元素来实现文件上传功能。可以使用第三方插件如 Dropzone.js 或者直接使用 HTML5 的 FormData 对象来实现。 2. 在后端服务器中,接收前端上传的文件数据,并将其保存到服务器本地的指定目录中。 3. 将上传的图片的相关信息(如文件名、文件路径等)保存数据库中。 以下是一个示例的 PHP 代码,用于实现图片上传并保存MySQL 数据库中: ```php <?php // 连接数据库 $conn = mysqli_connect("localhost", "username", "password", "database"); // 检查连接 if (!$conn) { die("连接失败: " . mysqli_connect_error()); } // 处理文件上传 if ($_SERVER["REQUEST_METHOD"] == "POST") { // 上传文件存储目录 $target_dir = "uploads/"; // 上传文件的数量 $count = count($_FILES["file"]["name"]); // 遍历上传的每一个文件 for ($i = 0; $i < $count; $i++) { // 获取上传文件的名称和存储路径 $filename = basename($_FILES["file"]["name"][$i]); $target_file = $target_dir . $filename; // 将文件移动到指定目录 if (move_uploaded_file($_FILES["file"]["tmp_name"][$i], $target_file)) { // 将文件信息保存数据库 $sql = "INSERT INTO images (filename, filepath) VALUES ('$filename', '$target_file')"; if (mysqli_query($conn, $sql)) { echo "文件上传成功!"; } else { echo "文件上传失败:" . mysqli_error($conn); } } else { echo "文件上传失败!"; } } } // 关闭数据库连接 mysqli_close($conn); ?> ``` 注意,上述代码仅为示例代码,需要根据具体情况进行修改。同时,为了保证上传的文件安全,需要对上传的文件进行安全检查并限制文件大小和类型。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值