我需要将表单值检索到insert.php
文件中,以便将它们存储在数据库中。然而,表单中的一个元素是文件选择器对话框,用于上传JPG或其他文件格式的图像文件。
我在网上找到了这个代码,可以通过帖子请求发送图像,但无法使其正常工作
$pic=($_FILES['photo'][image']);
它只显示文件的名称,而不是实际的文件本身
首先,您需要将enctype
属性添加到HTML表单中
<form action="page.php" method="post" accept-charset="utf-8" enctype="multipart/form-data">
<input type="file" name="photo" id="photo" />
<input type="submit" value="Upload" />
</form>
接下来,当这将在下一页上发送时,使用$_FILES
全局数组而不是$_POST
数组来检索图像。
<?php
move_uploaded_file( $_FILES['photo']['tmp_name'], "/var/www/image.jpg" );
echo("<img src='image.jpg'");
?>
所有文本数据将使用$_POST
发送,但文件将使用$_FILES
传输。
编辑:如果您想进一步将上传的数据插入表中(尽管这是不建议的,并且会造成巨大的性能损失)
$image = file_get_contents( "/var/www/image.jpg" );
$image = addslashes( $image );
...
$sql = "INSERT INTO pictures(image) VALUES('" . $image . "')";
//remaining MySQL and PHP code
注意:这里我考虑将/var/www
作为我的web文件夹,它在Linux机器上配置为默认的localhost。