图片上传错误

时间:2012-03-03 05:27:36

标签: php mysql

我想通过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

2 个答案:

答案 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'>

否则没问题,它的工作