原来写的一段代码,是把图片存数据库里面,后来又加上一段生成缩略图显示在本页面的代码 并且存放到另外一张表里。加上之后可以上传到数据库,但是,无法显示在页面之中,求解决
<HTML>
<HEAD>
<TITLE>图片上传</TITLE>
</HEAD>
<BODY> <?php
if (isset ( $_POST ['submit'] )) {
$form_description = $_POST['form_description'];
$form_data_name = $_FILES['form_data']['name'];
$form_data_size = $_FILES['form_data']['size'];
$form_data_type = $_FILES['form_data']['type'];
$form_data = $_FILES['form_data']['tmp_name'];

$connect = MYSQL_CONNECT ( "localhost", "root", "5555555551" ) or die ( "Unable to connect to MySQL server" );
mysql_select_db ( "pic" ) or die ( "Unable to select database" );

$data = addslashes ( fread ( fopen ( $form_data, "r" ), filesize ( $form_data ) ) );

//echo "mysqlPicture=".$data;
header ( 'Content-type: image/jpeg' );

$filename = $form_data; //文件
$percent = 0.3; //图像的一半大小缩放
// Content type
// Get new dimensions
list ( $width, $height ) = getimagesize ( $filename ); //获取图片高宽并赋值与变量$width, $height
$new_width = $width * $percent; //新图片宽度=源图片宽度×缩放比例;
$new_height = $height * $percent; //新图片高度=源图片高度×缩放比例;
// Resample
$image_p = imagecreatetruecolor ( $new_width, $new_height ); //建立一个新的空白真彩图像
$image = imagecreatefromjpeg ( $filename ); //从源图片建立一张新图片
imagecopyresampled ( $image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height );
//用$image以坐标0.0.0.0定位,使用新的高宽填充$image_p

 ImageJpeg ( $image, $image_p ); 
   
//echo "<img src=\"data:image/jpeg;base64,$data\" />winson<br>"; 
$result = MYSQL_QUERY ( "INSERT INTO Thumbnail (description,bin_data,filename,filesize,filetype) VALUES ('$form_description','$image_p','$form_data_name','$form_data_size','$form_data_type')" );
  

$result = MYSQL_QUERY ( "INSERT INTO image (description,bin_data,filename,filesize,filetype) VALUES ('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')" );

$id = mysql_insert_id ();
print "<p>图片 ID: <a href='./getdata.php?id=$id'><b>$id</b></a>";
} else {

?> 
 <center>
<form method="post" action=""
enctype="multipart/form-data">图片描述: <input type="text"
name="form_description" size="40"> <INPUT TYPE="hidden"
name="MAX_FILE_SIZE" value="1000000"> <br>
上传路径: <input type="file" name="form_data"
size="40">
<p><input type="submit" name="submit" value="submit"></form>
</center><?php}?> 
</BODY>
</HTML>

解决方案 »

  1.   

    木有做过,不过弱弱的问下,显示图片要么异步创建个img显示出来,要么刷页面仍然要创建个图片标签显示图片,我看来看去好不容易看到个echo "<img src=\"data:image/jpeg;base64,$data\" />winson<br>"; 结果还是被你给注释掉了的,你到底用的什么显示图片嗷?
      

  2.   

    完全可以用js实现:<script language="javascript">
    function showpic(f){
      var path=f.value;
      document.getElementById('pics').setAttribute('src',path);
    }
    </script>
    <input name="pic" type="file" id="pic" onchange="showpic(this)"/>
    <img src="images/yulan.jpg" id="pics"/>