首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据库中的图片上传到mysql中

问将数据库中的图片上传到mysql中
EN

Stack Overflow用户
提问于 2018-03-02 17:53:20
回答 1查看 63关注 0票数 1

我想上传图片在数据库中的php与标题名称…像这样::(domain.com/image-ID-title.jpg) -- (domain.com/shd64ht-this-is-my-first-post.jpg)

这是我的代码,输出是(domain.com/image-ID.jpg) -- (domain.com/shhk87y.jpg)

代码语言:javascript
复制
function store_file($file){
    $ext = explode('.', $file['name']);     
    $ext = $ext[count($ext)-1];

    do {
        $file_name = genfilename($ext);
    } while(file_exists("../img/{$file_name}"));

    move_uploaded_file($file['tmp_name'], "../img/{$file_name}");
    return $file_name;
}

function genfilename($ext){
    $a = array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9");
    $nm = "";
    for($i=1; $i<=8; $i++){
        $nm = $nm . $a[rand(0,35)];
    }
    return $nm . ".{$ext}";
}

if (isset($_POST['save'])) {
    $title_save = $_POST['title'];
    $pic = $_FILES['pic'];

    $pic_name = store_file($pic);

    mysql_query("insert my_posts SET title ='$title_save' ,pic ='$pic_name'") or die(mysql_error());
    $flg_okay = 0;
    $flg_okay = 1;
}
EN

回答 1

Stack Overflow用户

发布于 2018-03-02 20:15:44

不确定我是否完全理解您的意图,但我不建议将图像存储在数据库中。我认为您应该做的是接收图像并将其信息存储在表中。某句话中的某句话:

(根据您想要的任何验证,使用HTTPPost或Put提交文件)

代码语言:javascript
复制
| id | name           | alias     | path                           | created_at | updated_at |
+----+----------------+-----------+--------------------------------+------------+------------+
|  1 | filestored.jpg | mypicture | path/to/image/withoutimagename | timestamp  | timestamp  |

并通过使用返回path+name的ID (任何您认为合适的ID)来检索它。这个path+name可以是一个url,也可以告诉它根据http://php.net/manual/en/function.readfile.php下载某个文件

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49066672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档