免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5872 | 回复: 9
打印 上一主题 下一主题

图片只显示一半??? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-09-28 15:13 |只看该作者 |倒序浏览
基于PHP + Mysql环境,在上传大于60K的图片后,显示的图片为半截,图片文件大小 > 100K以上,上传后只能显示1/3。如附件,请问这是什么原因?怎样解决?

show.jpg (64 KB, 下载次数: 50)

show.jpg

论坛徽章:
0
2 [报告]
发表于 2006-09-28 15:16 |只看该作者
你检查你的Apache有没有这个:

upload_max_filesize 2M 2M

是不是太小了?


好像与PHP+MYSQL都没有关系

论坛徽章:
0
3 [报告]
发表于 2006-09-28 15:29 |只看该作者
php.ini

; Maximum size of POST data that PHP will accept.
post_max_size = 8M


; Maximum allowed size for uploaded files.
upload_max_filesize = 2M


我的设置是这样子的啊

论坛徽章:
0
4 [报告]
发表于 2006-09-28 15:32 |只看该作者
上传图片大概花了多少时间?
有没有传输完成?


注意一下参数:

max_execution_time 30 30

max_input_time 60 60

Timeouts  Connection: 300 - Keep-Alive: 15  

HTTP_COOKIE  cdb_visitedfid=1; cdb_cookietime=2592000;  

Keep-Alive  timeout=15, max=99  

等等

论坛徽章:
0
5 [报告]
发表于 2006-09-28 15:45 |只看该作者
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 30     ; Maximum execution time of each script, in seconds
max_input_time = 60        ; Maximum amount of time each script may spend parsing request data
memory_limit = 8M      ; Maximum amount of memory a script may consume (8MB)


; Default timeout for socket based streams (seconds)
default_socket_timeout = 60

上传时间肯定是够的,上传结束后才显示上传图片。

论坛徽章:
0
6 [报告]
发表于 2006-09-28 15:50 |只看该作者
这个最好把代码贴出来,一起研究下
如果我们也是一样的,那就检查代码
如果不是一样的,再检查你的环境等因素

如何?

论坛徽章:
0
7 [报告]
发表于 2006-09-28 16:19 |只看该作者
<table width=758" border="1" cellpadding="0" cellspacing="0" align="center" bordercolor="#3a98d1">
        <tr>
                <td>
<?php
        if($check ==5)
        {
                upload($textuser,$selectsort,$shoesbewrite,$formdata_name);               
        }else {               
                $upuser = "";               
                table_upload($upuser);
        }
               
        table_off();
?>

<?php
       
        function table_off()
        {
                echo "</td>";
                echo "</tr>";
                echo "</table>";
                include("../down.html");
                echo "</body>";
                echo "</html>";       
        }

        function table_upload()
        {
?>
        <table width="758" border="0" cellpadding="0" cellspacing="0" align="center" >
       
        <tr><td colspan="2">&nbsp;</td></tr><tr>
                <td colspan="2" align="center"><font color="Red">注意,上传的只能是JPEG或者GIF图片</font></td>
        </tr>
        <tr><td colspan="2">&nbsp;</td></tr>
        <?php echo "<form name=\"form1\" method=\"POST\" action=\"$PHP_SELF?check=1\" enctype=\"multipart/form-data\">"; ?>
        <tr>
                <td width="40%" align="right">图片路径:</td>
                <td width="60%"><input type="file" name="formdata" class="wenbenk"></td>
        </tr>               
        <tr>
                <td width="40%" align="right">上传用户:</td>
                <td width="60%"><input type="text" name="textuser"class="wenbenk" value="netadmin"></td>
        </tr>
        <tr>
                <td width="40%" align="right">鞋&nbsp;&nbsp;&nbsp;&nbsp;类:</td>
                <td width="60%">
                <select size="1" name="selectsort" class="wenbenk">
                <?php
                        $db = mysql_connect("localhost","root","");
                        mysql_select_db("vote", $db);
                        $query="select * from sorts";
                        $result=mysql_query($query,$db);
                        if(!$result)
                        {
                                echo "<option>没有分类</option>";
                        }else{
                                while($r=mysql_fetch_array($result))
                                {
                                        echo "<option>$r[1]</option>";
                                }
                        }                       
                        ?>
                </select>
                </td>
        </tr>
        <tr valign="top">
                <td width="40%" align="right">鞋图描述:</td>
                <td width="60%"><textarea rows="3" name="shoesbewrite" cols="20" class="wenbenk"></textarea></td>
        </tr>
        <tr><td colspan="2">&nbsp;</td></tr>
        <tr>               
                <td colspan="2" align="center">
                        <input type="submit" value="提交" name="tj_ok" class="tj">
                        &nbsp;&nbsp;
                        <input type="reset" value="取消" name="cancal" class="tj" onclick='javascript:a()'>
                </td>
        </tr>
        <tr><td colspan="2">&nbsp;</td></tr>
        </form>
</table>
<?php
        }
       
       
       
        function upload($textuser,$selectsort,$formdesc,$formata_name)
        {
               

                if (is_uploaded_file($_FILES['formdata']['tmp_name']))//is_uploaded_file()判断文件是否是通过 HTTP POST 上传的
                {
                            copy($_FILES['formdata']['tmp_name'], "abc.abc");
                } else {
                             echo "Possible file upload attack. Filename: " . $_FILES['userfile']['name'];
                }
                $formdata_size = filesize("abc.abc");
                $data=addslashes(fread(fopen("abc.abc","r"),filesize("abc.abc")));//filesize(),取得文件大小;
                $date=date("Y-m-d H:i:s");
                $filetype = $_FILES['formdata']['type'];
                if($formdesc=="")
                {
                        $formdesc="没有";
                }
                if($formdata_size<1024)
                {
                        $formdata_size=$formdata_size."B";
                }
                else if($formdata_size<(1024*1024))
                {
                        $formdata_size=number_format((double)($formdata_size/1024),1).'KB';
                }
                else
                {
                        $formdata_size=number_format((double)($formdata_size/(1024*1024)),1)."MB";
                }
               
               
                $db = mysql_connect("localhost","root","");
                mysql_select_db("vote", $db);
                $query="insert into photos values('','$formdesc','$data','$formata_name','$formdata_size','$filetype','$date','$textuser','$selectsort')";
                $result=mysql_query($query,$db);
                if(!$result)
                {
                        echo "<br><br><center>上传失败。。。<br>";       
                        echo "<a href=index.php>返回</a>";
                        table_off();
                        exit;       
                }else {
                        ?>               
                        <script language="JavaScript">                       
                                window.alert("文件上传成功!");                       
                                window.location.href='upload.html';
                        </script>
                <?php                       
                }
       
        }

?>

论坛徽章:
0
8 [报告]
发表于 2006-09-28 19:01 |只看该作者
准确的是只能显示64K的数据
有人问过这样的问题,后来自己解决了,好像没贴方法,你找找

论坛徽章:
0
9 [报告]
发表于 2006-10-17 11:06 |只看该作者
这个问题已解决,非常感谢各位的参与!谢谢!!!

将数据结构的字段类型设成: longblob 型就可以存100K以上大小的图片了。

论坛徽章:
0
10 [报告]
发表于 2006-10-18 15:25 |只看该作者
楼主最好不要把图片存在数据库中 把它上传到一个目录,在数据库中记下它的路径就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP