用于将文本文件插入数据库的php代码

时间:2010-05-02 07:03:34

标签: php mysql filefield

嘿,我有一个有文件字段的表单。选择文件后,我想将所选文件插入数据库列。我该怎么做?

2 个答案:

答案 0 :(得分:3)

我不建议将数据库用于文件内容,因为数据库在此方面是有限的。当然,您可以将text字段放入其中,但即使是那些也只限于某种程度。在任何情况下,将来都会弃用text字段类型。我会养成试图远离它的习惯,除非你真的需要它。您可以在需要时使用fopenfgetsfclose轻松打开内容。或者freadfile_get_contents而不是将其存储到数据库中,为什么不使用file_put_contents将其作为文件存储在服务器上。

然而,只是注意到你可能指的是存储在数据库中的文件名,如果不是那样可以很好地使用varchar(255)应该是完全没问题的。

在这种情况下,请确保为表单集设置method =“post”和action =“whatever.php”。并ENCTYPE = "multipart/form-data"。比普通提交按钮会触发操作,您可以直接从那里处理。您可以使用move_uploaded_file将其存储在服务器上的路径中,或者如果它是文本文件并且您需要对其进行一些编辑,我上面提到的方法之一就应该这样做。否则,要从表单获取文件,请使用$_FILES预定义的PHP数组。您需要获取$_FILES['file_input_name']['tmp_name']$FILES['file_input_name']['name']值,其中file_input_name =表单中文件输入标记的name属性。

答案 1 :(得分:1)

只需4步:

  1. 您必须正确设置表单:在表单标记中添加ENCTYPE =“multipart / form-data”。
  2. 在您的php页面中,您必须read the content of the file
  3. 使用mysql_real_escape_string()
  4. 转义二进制数据
  5. 使用标准查询将文件内容放入您的行中。