【问题标题】:How to store images/files in a folder input through forms and save address to sql DB?如何将图像/文件存储在通过表单输入的文件夹中并将地址保存到sql DB?
【发布时间】:2013-05-24 12:31:31
【问题描述】:

我正在为客户设计一个网站,并有一个画廊页面。我需要通过管理面板进行上传图片选项。听说直接把图片存sql DB效率不高。

所以我想知道的是,如何存储我通过HTML的INPUT标签从用户那里获得的图像并将其存储在一个文件夹中,例如UploadedImages,同时存储上传图像的地址(URL) 在我的 SQL 数据库中?

任何带有示例代码的答案都会很有用。如果有更有效的方法,请告诉我。如果这个描述看起来很长,很抱歉。 :)

如果问题已经得到解答,请指导我。我没有找到任何帖子对代码的过程有完整的解释..

谢谢!

【问题讨论】:

    标签: mysql database image forms image-gallery


    【解决方案1】:
    $target_path = "./upload/";
            $target_path = $target_path . basename( $_FILES['myfile']['name']); 
            if(move_uploaded_file($_FILES['myfile']['tmp_name'], $target_path)) //Upload file to target path
     {
                $fileName = $_FILES['myfile']['name']; // Get Filename
                $fileSize = $_FILES['myfile']['size']; // Get filesize
                $fileType = $_FILES['myfile']['type']; // Get filetype
                echo "The picture ".  basename( $_FILES['myfile']['name']) . " was uploaded successfully.";} else{
                echo "There was an error uploading the file, please try again!";
            }
    

    类似的东西。

    mysql_query("INSERT INTO `files`(`title`, `filename`, `size`, `type`, `categorie`) VALUES ('$_POST[title]', '$fileName', '$fileSize', '$fileType', '$_POST[type]');");
    

    这正是您所需要的。文件上传 - 并为您的数据库添加额外的插入(文件名、大小等...)。

    编辑:添加 else :错误消息和 cmets

    编辑 2:不要忘记:

    <form action="" enctype="multipart/form-data" method="post">
    

    还有:

    <input type="file" name="myfile">
    

    【讨论】:

    • 谢谢!但是当我将这些代码添加到空白 index.php 并运行它们时,我在浏览器中收到以下错误。 ** 注意:未定义的索引:第 26 行 D:\Program Files\xampp\htdocs\gallery\index.php 中的 myfile ** myfile、title、fileName、fileType、fileSize 和类型变量也一样 :( 我在做什么错了吗?
    • 使用 if isset post submit...把它放在一个等待的“if”函数中,直到你提交输入类型所在的表单。我不想写出你真正需要的东西……但这是主要部分。
    • 是的,它确实有效,并将文件复制到指定的文件夹:) 谢谢!但是函数 jsAlert 会产生致命错误“调用未定义的函数 jsAlert()”所以我删除了它们,现在即使当我查询 mySQL DB 时文件被复制到文件夹中,它说找到零行。我错过了什么?很抱歉给您带来麻烦。
    • 删除它并在此处添加回声...赞成并接受我的回答会很好。
    • 我不能投票,因为我没有足够的积分 :) 你能解释一下为什么数据库没有更新吗?我很乐意解决问题:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多