还有一个事,就是png文件上传后会出现乱码,jpg文件上传后显示红色的小叉号,gif文件只能现示一小部分,我用的是二进制文件进行的存取,过程如下,
$data=addslashes(fread(fopen($form_data,"r"),filesize($form_data)));
$result=mysql_query("insert into binary_data (description,bin_data,filename,filesize,filetype)"."values('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')");
读图片为:
    $query =  "select bin_data,filetype from binary_data where id=$id"; 
    $result = @MYSQL_QUERY($query);     $data = @MYSQL_RESULT($result,0, "bin_data"); 
    $type = @MYSQL_RESULT($result,0, "filetype");     Header(  "Content-type: $type"); 
    echo $data;
其中$form_data是你本机上文件的文件名:
我想完成后把所有的源码贴出来

解决方案 »

  1.   

    会不会你存进数据库的数据就不完整啊,比如上传文件的大小有限制。gif能够显示可能由于其文件类似流结构
      

  2.   

    上传的文件大小我在配置文件里改成了2M,应该没问题,至于gif文件,如果是动态的话,是能显示全,但是没有色,而其它文件就没戏了。
      

  3.   

    对POST来的数据以二进制读取,请用rb.
    $data=addslashes(fread(fopen($form_data,"rb"),filesize($form_data)));