在表格中插入数据和多个图像[PHP]

时间:2016-05-30 13:03:26

标签: php html mysql image

我尝试了很多天将多个图像和同时存储在mysql表中的各种数据组合在一起。

例如,我们有一个HTML格式的表格,PHP:

<form method="post" enctype="multipart/form-data">
    <input type="text" name="firstname">
    <input type="text" name="lastname">
    <input type="text" name="phone">
    <input type="file" name="images[]" multiple="multiple" accept="image/*" />
    <input type="submit" name="submit" value="Upload!" />
</form>

如何成为PHP和SQL之间的关联?

<?php
include "config.php";
$erors = array();  // set an empty array that will contains the errors

// Check for form submission
if (isset($_POST['firtname']) && isset($_POST['lastname'])) {
  // chech if all form fields are filled in correctly
  // (email address and the minimum number of characters in "name" and "pass")
  if (strlen($_POST['firstname'])<3) $erors[] = 'Name must contain minimum 3 characters';
  if (strlen($_POST['lastname'])<6) $erors[] = 'Password must contain minimum 6 characters';

  // if no errors ($error array empty)
  if(count($erors)<1) {

    // store the values in an Array, escaping special characters for use in the SQL statement
    $adds['firstname'] = $mysqli->real_escape_string($_POST['firtname']);
    $adds['lastname'] = $mysqli->real_escape_string($_POST['lastname']);
    $adds['phone'] = $mysqli->real_escape_string($_POST['phone']);

    /*

    CODE FOR UPLOAD MULTIPLE IMAGES

    */

    // sql query for INSERT INTO users
    $sql = "INSERT INTO `insert_data` (`firstname`, `lastname`, `phone`) VALUES ('". $adds['firtname']. "', '". $adds['lastname']. "', '". $adds['phone']. "')";

    // Performs the $sql query on the server to insert the values
    if ($mysqli->query($sql) === TRUE) {
      echo 'users entry saved successfully';
    }
    else {
      echo 'Error: '. $mysqli->error;
    }

    $mysqli->close();
  }
  else {
    // else, if errors, it adds them in string format and print it
    echo implode('<br>', $erors);
  }
}
?>

CREATE TABLE IF NOT EXISTS `insert_data` (
  `id` int(9) NOT NULL AUTO_INCREMENT,
  `firstname` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
  `lastname` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
  `phone` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
  /*

  HERE SAVED MULTIPLE IMAGES??

  */
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

我应该感谢你的帮助!!

谢谢!

1 个答案:

答案 0 :(得分:0)

这可能会对你充分使用:Multiple file upload in php

 $total = count($_FILES['upload']['name']);

    // Loop through each file
    for($i=0; $i<$total; $i++) {
      //Get the temp file path
      $tmpFilePath = $_FILES['upload']['tmp_name'][$i];

      //Make sure we have a filepath
      if ($tmpFilePath != ""){
        //Setup our new file path
        $filename[] = $_FILES['upload']['name'][$i];
        $newFilePath = "./uploadFiles/" . $_FILES['upload']['name'][$i];

        //Upload the file into the temp dir
        if(move_uploaded_file($tmpFilePath, $newFilePath)) {

          //Handle other code here or insert query here

        }
      }
    }
$images = implode(",",$filename);

在表格中插入“ $ images ”变量。