PHP在MySQL DB中存储/检索图像名称

时间:2012-07-04 22:28:51

标签: php

我目前正在处理带有文件目录的多图像上传器。我想在MySQL里面存储文件名。

如何通过php将这些变量(图像名称)存储在我的表中?

如何通过php检索变量?

网址由上传者生成:

文件名:

  • 4ff4bfd02c241.jpg
  • 4ff4bfd02c242.jpg

表名: urlimage

id: autoincrement
image_name

我能够通过以下方式回显路径和名称:     

$images = explode(',', $_GET['i']);

$path = Configuration::getUploadUrlPath('medium', 'target');

foreach ($images as $image) {

    echo '<div><p>' . $path . $image . '</p><img src="' . $path . $image . '" /></div>';
}

?>

1 个答案:

答案 0 :(得分:1)

$images = explode(',', $_GET['i']);

$path = Configuration::getUploadUrlPath('medium', 'target');


if(is_array($images)){

  $sql = "INSERT INTO `urlimage` (`image_name`) VALUES ";

  foreach ($images as $image) {

    //echo '<div><p>' . $path . $image . '</p><img src="' . $path . $image . '" /></div>';
    $value[] = "(".$path.$image.")"; // collect imagenames
  }

  $sql .= implode(',', $value).";"; //build query

  //don't know how you send queries, you should use a kind of mysqli-functionality
  queryfunction($sql);   
}

Addiontally:你应该考虑使用$ _POST而不是$ _GET因为有一个长度限制取决于浏览器(其中一些在255个字符之后剪切URL)。
也永远不要将用户定义的内容直接放入DB中。你需要某种逃避(http://php.net/manual/en/function.mysql-real-escape-string.php)。