0

我正在学习如何上传带有插入的照片。到目前为止,我已将图像上传到“照片”文件夹。这样可行。我创建了一个名为“image”的 blob 字段。

我应该看到 blob 字段中的路径还是实际照片?使困惑。

http://jsfiddle.net/zEZD7/

<?
$order = "INSERT INTO reg_add (connect_date, 
   reg, 
   first_name, 
   last_name,
   image)

VALUES

('$_POST[connect_date]', 
     '{$_POST[reg]}nv', 
     '$_POST[first_name]', 
     '$_POST[last_name]',
     '$_POST[image]')";

$new_image = 'photos/'.basename( $_FILES['image']['name']);
    if(move_uploaded_file($_FILES['image']['tmp_name'], $new_image)) {
        // The images was uploaded
  } else{
header("location: reg_add_fail_IMAGE.php"); 
}

$sql = "INSERT INTO image (path) VALUES ('" . mysql_real_escape_string($path) . "')";

$result = mysql_query($order);
?>

形式:

<form id="form_register" method="POST" action="reg_add.php">

   <input class="req-string bx short" type="text" name="connect_date" id="connect_date">
   <input type="hidden" name="MAX_FILE_SIZE" value="100000">
   <input class="req-string bx long caps" type="text" name="reg" id="reg">
   <input class="req-string bx long" type="text" name="first_name">
   <input class="bx long" type="text" name="last_name">

   Choose a image to upload: <input name="image" type="file">
   <input id="rbSubmit" class="rb2 rbSubmit" type="submit" value="submit">
</form>
4

1 回答 1

0

我认为您想要一个表格并让用户填写一些详细信息并上传图片,然后将其显示回来?

如果是这样,我不会将图像存储在 MySQl 中。我会将图像上传到服务器的文件系统,位于 WWW 根(浏览器可访问的目录)之外的某个位置,并将图像文件的路径存储在 char 列中。

当您想要显示它时,只需打印一个标签,其中包含从您的数据库查询中获取的图像来源。

此外,您的代码似乎建议您接受用户输入并将其直接添加到数据库中,从安全角度来看,这非常糟糕。您需要先进行输入验证(google that and SQL injection attack)

于 2012-04-28T16:23:16.410 回答