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


PHP Storing/Retrieving image names in MySQL DB

我目前正在研究带有文件目录的多图像上传器。我想将文件名存储在我的 MySQL 中。

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

如何通过 php 检索变量?

上传者生成的网址:

  • http://www.website.com/imageupload/index.php?i=4ff4bfd02c241.jpg
  • http://www.website.com/imageupload/index.php?i=4ff4bfd02c242.jpg

文件名:

  • 4ff4bfd02c241.jpg
  • 4ff4bfd02c242.jpg

表名:网址

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>';
}
?>

$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);   
}

另外:你应该考虑使用 $_POST 而不是 $_GET,因为根据浏览器的不同,有一个长度限制(其中一些在 255 个字符后剪切 URL).
也不要将用户定义的内容直接放入您的数据库中。你需要某种转义(http://php.net/manual/en/function.mysql-real-escape-string.php)。