我想通过php在mysql数据库上传图像。我以前使用它没有任何麻烦,但现在我不能。这是我的代码::
image.php
<form action='image2.php' method='POST' entype='multipart/form-data'>
<b> Code :: </b> <input type='text' name='randomValue'> <br />
<b> Upload your image :: </b> <input type='file' name='image'> <br />
<input type='submit' name='submitX' value='Complete Registration'>
</form>
image2.php
if( isset($_POST['submitX'] ) ) {
include('DB.php');
$test = trim( addslashes( $_POST['randomValue'] ) );
$image = addslashes( file_get_contents( $_FILES['image']['tmp_name'] ) );
$size = getimagesize( $_FILES['image']['tmp_name'] );
if( $size > 0 ) {
mysql_query(" INSERT INTO test VALUES ('' , '$test', '$image') ") or die(mysql_error());
}
}
?>
错误是::
Warning: file_get_contents() [function.file-get-contents]: Filename cannot be empty in E:\xampp\htdocs\MyWork\test\image2.php on line 8
Warning: getimagesize() [function.getimagesize]: Filename cannot be empty in E:\xampp\htdocs\MyWork\test\image2.php on line 9
答案 0 :(得分:0)
您的表单上没有名称为img_name
的元素,请将其更改为image_name
格式
<b> Upload your image :: </b> <input type='file' name='image_name'> <br />
OR
代码中的 $_POST['image']
从帖子中获取数据。
$test = trim( addslashes( $_POST['img_name'] ) );
应该是
$test = trim( addslashes( $_POST['name'] ) );
答案 1 :(得分:0)
Buddy,我认为查询是正确的。
你做的简单错误
<form action='image2.php' method='POST' entype='multipart/form-data'>
在上面你错过了enctype
中的“ c ”<form enctype='multipart/form-data'>
否则没问题,它的工作