【问题标题】:Upload image into database using php使用php将图像上传到数据库
【发布时间】:2011-04-21 15:43:17
【问题描述】:

我正在尝试使用 php 将图像上传到数据库,我收到一条错误消息,提示未定义索引:horse_image

这是表格代码:

<form method="post" enctype="multipart/form-data"action="newhorse.php"
OnSubmit="return VerifyDataEntry(this)">  
<p>Please type the horse details below 
<p>Horse Id: <input type="text" name="horse_id">  
<p>Horse name: <input type="text" name="horse_name">
<p>Horse Gender: <span id="spryradio1">
<label>
  <input type="radio" name="horse_gender" value="m" id="horse_gender_0" />
  Male</label>

<label>
  <input type="radio" name="horse_gender" value="f" id="horse_gender_1" />
  Female</label>
<br />
<span class="radioRequiredMsg">Please make a selection.</span></span>

<p>Horse Height: <input type="text" name="horse_height">
<?php
  if (!isset($_FILES["horse_image"]["tmp_name"]))
  {
 ?>

        <p>Select an image to upload:
          <input type="file" size="50" name="horse_image">


<?php
  }
  else
  {
    $upfile = "horse_images/".$_FILES["horse_image"]["name"];

    $imgsize=getimagesize($_FILES["horse_image"]["tmp_name"]);

    if(!move_uploaded_file($_FILES["horse_image"]
      ["tmp_name"],$upfile))
    {
      echo "ERROR: Could Not Move File into Directory";
    }

  }
 ?>
<p><span id="spryselect1">
<label for="horse_breed">Horse Breed: </label>
<select name="horse_breed" id="horse_breed">
  <option value="0" selected="selected">please select</option>
  <option value="13">american</option>
  <option value="14">asian</option>
  <option value="11">australian</option>
  <option value="12">brazilian</option>
  <option value="15">europian</option>
</select>
<?php
  include("connection.php"); 
     $conn = oci_connect($UName,$PWord,$DB);
  $query = "Select * FROM skill ORDER BY SKILL_DESC";
    $stmt = oci_parse($conn,$query);
  oci_execute($stmt);
?>
<p>Select horse skill(s)
<p>
<table border="2" cellpadding="4">
  <tr>
    <th>Skill Id</th>
    <th>Skill Name</th>
    <th>Add?</th>
  </tr>
  <?php 
  while ($skills = oci_fetch_array ($stmt))
  {
?>
    <tr>
      <td><?php echo $skills["SKILL_ID"]; ?></td>
      <td><?php echo $skills["SKILL_DESC"]; ?></td>
      <td align="center">

<input type="checkbox" name="check[]" value="<?php echo $skills["SKILL_ID"]; ?>">

      </td>
    </tr>
<?php
  }
?>

</table>
<p><input type="Submit" Value="Submit">  <input type="Reset" Value="Clear Form Fields">  
</form>

这是newhorse.php中的代码

<?php 
$horse_id = $_POST["horse_id"]; 
$horse_name = $_POST["horse_name"]; 
$horse_gender = $_POST["horse_gender"];
$horse_height = $_POST["horse_height"];
$horse_image = $_POST["horse_image"];
$horse_breed = $_POST["horse_breed"];
?> 
    <table border="0">  
    <tr>  
    <td>Horse Id: <?php echo $_POST["horse_id"]; ?></td>  
    </tr>  
    <tr>  
    <td>Horse Name: <?php echo $_POST["horse_name"]?> </td> 
    </tr>  
    <tr>  
    <td>Horse Gender: <?php echo $_POST["horse_gender"] ?></td>  
    </tr>  
    <tr>  
    <td>Horse Height: <?php echo $_POST["horse_height"] ?></td>  
    </tr>
    <tr>  
    <td>Horse Image: <?php echo $_POST["horse_image"]
     ?></td>  
    </tr>
    <tr>  
    <td>Horse Breed: <?php echo $_POST["horse_breed"] ?></td>  
    </tr>
    </table> 




    <?php

          include("connection.php");
          $conn = oci_connect($UName,$PWord,$DB);

          $query="INSERT INTO horse (horse_id, horse_name,horse_gender,horse_height,horse_image,horse_breed) VALUES('$_POST[horse_id]','$_POST[horse_name]','$_POST[horse_gender]','$_POST[horse_height]','$_POST[horse_image]','$_POST[horse_breed]')";

          $stmt = oci_parse($conn,$query);
          oci_execute($stmt); 


    ?>

【问题讨论】:

  • 此代码是否在“if (!isset($_FILES["horse_image"]["tmp_name"]))”中出现问题??????
  • sigh 孩子们.. 数据库中的图像迟早会产生问题。

标签: php database image file upload


【解决方案1】:

上传的图片没有放在 $_POST 数组中。阅读file uploads上的文档

【讨论】:

    【解决方案2】:

    你没有 $_POST['horse_image']

    使用 $_FILE['horse_image']

    http://www.w3schools.com/PHP/php_file_upload.asp

    【讨论】:

      【解决方案3】:

      你来了

      表单页面:

      <form enctype="multipart/form-data" action="insert_image.php" method="post" name="changer">
      <input name="image" accept="image/jpeg" type="file">
      <input value="Submit" type="submit">
      </form>
      

      插入数据库页面:

      <?php
      
        include 'conf.php';
      
        if ($_FILES["image"]["error"] > 0)
        {
           echo "<font size = '5'><font color=\"#e31919\">Error: NO CHOSEN FILE <br />";
           echo"<p><font size = '5'><font color=\"#e31919\">INSERT TO DATABASE FAILED";
         }
         else
         {
           move_uploaded_file($_FILES["image"]["tmp_name"],"images/" . $_FILES["image"]["name"]);
           echo"<font size = '5'><font color=\"#0CF44A\">SAVED<br>";
      
           $file="images/".$_FILES["image"]["name"];
           $sql="INSERT INTO eikones (auxon, path) VALUES ('','$file')";
      
           if (!mysql_query($sql))
           {
              die('Error: ' . mysql_error());
           }
           echo "<font size = '5'><font color=\"#0CF44A\">SAVED TO DATABASE";
      
         }
      
         mysql_close();
      
      ?>
      

      【讨论】:

        猜你喜欢
        • 2015-09-18
        • 1970-01-01
        • 1970-01-01
        • 2015-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-17
        • 2017-11-20
        • 1970-01-01
        相关资源
        最近更新 更多