使用PHP + jQuery + MYSQL在聊天中发送图像

时间:2017-11-19 07:47:47

标签: php jquery mysql

我有一个聊天应用程序,只能发送和接收文本,但我希望通过它发送图像/视频/文件。

这是显示聊天记录的主页。

<script>
  $ = jQuery;
  var currentID = null;
  var chatTimer = null;
  var oldhtml="";

  function fetch_data() {
    $.ajax({
      url: "select.php",
      method: "POST",
      success: function(data) {
        $('#live_data').html(data);
      }
    });
  }

  function fetch_chat() {   
    $.ajax({
      url: "fetch_chat.php",
      method: "POST",
      data: {
        id: currentID
      },
      dataType: "text",
      success: function(data) {
        $("#chatbox").show();
        $('#messages').html(data);
        $("div.area").show();
        if(oldhtml!==data) {
          $('#messages').scrollTop($('#messages')[0].scrollHeight);
        }
        oldhtml=data;
      }    
    });
  }

  $(document).ready(function() {    
    fetch_data();
    setInterval(function() {
      fetch_chat();
    }, 500);
    $(document).on('click', '.first_name', function() {
      currentID = $(this).data("id1");
      fetch_chat();
    });
    $("#sub").click(function() {
      var text = $("#text").val();
      $.post('insert_chat.php', {
        id: currentID,
        msg: text
      }, function(data) {
        $("#messages").append(data);
        $("#text").val('');       
      });
    });
  });
</script>

以下是fetch_chat.php,用于从数据库中提取聊天内容。

<?php
  require("config.php");
  $user_to = $_POST['id'];
  $res1=$db->query("select * from chats where user_from='$_SESSION[id]' AND 
user_to='$user_to' OR user_to='$_SESSION[id]' AND user_from='$user_to' order 
by id");
  if($res1->num_rows){
    while($row=$res1->fetch_object()){
      if($row->user_from === $_SESSION["id"] ) {
        echo "<div class='chat self'>
          <div class='user-photo'><img src='img/user1.jpg'></div>
          <p class='chat-message'> $row->msg</p>
        </div>";
      }  else {
        echo "<div class='chat friend'>
          <div class='user-photo'><img src='img/user2.jpg'></div>
          <p class='chat-message'>$row->msg</p>
        </div>";
      }
    }
  } else
    echo "No msgs <br />";
?>

现在我想将数据库中上传文件的信息和文件保存到文件夹/目录中。发件人和收件人应该能够分别发送和查看文件。

0 个答案:

没有答案