我有一个带有文件输入字段的表单:
<tr align="left">
<td>Image :</td>
<td align="left">
<input type="file" name="ImageFile" size="18">
</td>
</tr>
然后我在提交时使用此图像文件执行操作:
$image_tmpname = $_FILES['ImageFile']['name'];
$imgdir = "blogImages/";
$imgname = $imgdir.$image_tmpname;
$blogs = new Blogs();
move_uploaded_file($_FILES['ImageFile']['tmp_name'], $imgname);
$insert = $blogs->insertBlog($heading, $article, $date, $imgname);
我要保存图像的目录名为blogImages
,与上述目录位于同一目录中。
您可能会注意到上面我在类insertBlog
insertBlog`中调用了一个名为Blogs'. Insert blog takes all the info and inputs the data to a mysql table. The code for
的函数:
function insertBlog($heading, $article, $date, $imgname){
$query = "INSERT INTO Blogs (BlogTitle, MainArticle, PostDate, Image) VALUES ('$heading', '$article', '$date', '$imgname')";
$oDatabase = new database;
$connection = $oDatabase->Connect();
if (!mysql_select_db($oDatabase->Name(), $connection))
$oDatabase->ShowError("Blogs.insertBlog");
if (!(@ mysql_query ($query, $connection)))
$oDatabase->ShowError("Blogs.insertBlog");
return (mysql_insert_id());
}
当用户填写表单时,除了图像信息之外,它还会将所有其他信息正确地存储在MySQL表中。此外,它不会将实际图像存储在blogImages
文件夹中。那么如何让这个脚本将图像上传到blogImages
文件夹并将其路径存储在mysql表中。目前它不会将图像存储在数据库中,只将值blogImages/
放在MySQL表的图像路径字段中。
答案 0 :(得分:1)
要传输文件,您必须在HTML中指定multipart/form-data
enctype
。
<form enctype="multipart/form-data" action="" method="POST">