且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

从HTML表单将文件存储在MySQL数据库中

更新时间:2023-10-08 11:05:04

如果您一定要将HTML文件插入到您的MySQL数据库有两种方法:使用BLOB类型来存储文件。 使用BLOB类型来存储文件。

  • 将文件转换为字符串,因为它是HTML,并将其存储在TEXT字段中。


  • 然而,我的建议是将文件存储在服务器文件系统中,而不是数据库中。


    I've got the following HTML form. As you can see it's saving a file.

    <form enctype="multipart/form-data" action="welcome.php" method="post
    "onsubmit="return validateFormOnSubmit(this)"> 
     <b>Name</b><br/> <input type="text" name="fname" /> 
     <br/>
     <b>Description</b><br/> <TEXTAREA NAME="description" COLS=40
     ROWS=6></TEXTAREA><br/><br/> <input type="hidden" name="MAX_FILE_SIZE" value="100000"/> 
    
    <b>Upload Picture</b><br/> <input name="uploadedfile" type="file" /><br /> 
     <b>Latitude</b><br/><INPUT name="lat" id ="lat" /><br/> 
     <b>Longitude</b><br/><INPUT     name="lng" id ="lng" /><br/> <input type="submit" />
    

    This file is being processed like so...

     $target_path = "uploads/";
    
     $target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
    

    The rest of the information is being stored in a SQL database. I'd like to store the file uploaded in that database. How would I go about doing this via the php file the information get's sent to? I'm inserting it like..

       $query = "INSERT INTO <TABLE> (name, message, lat, lng, type)VALUES ('".$title."', '".$des."', '".$lati."', '".$long."', '".$type."')";
       $q=mysql_query($query) or die(mysql_error());
    

    If you definitely want to insert your HTML file in your MySQL DB, there are two ways:

    1. Use the BLOB type to store the file.

    2. Convert your file into a string, as it is HTML, and store it in a TEXT field.

    However, my recommendation would be to store files on the server filesystem, and not in the database.