作者iversonjimmy (还没想到捏)
看板PHP
标题[请益] 图片上传无法显示全图
时间Sat Jun 2 23:35:54 2007
想请问大家 关於档案上传图片功能
我是采用存入资料库 利用base64_encode($FileContents)技术
却发现档案大小若超过100kb 图片就显示不完全 只有片段
以下是我的程式码 利用三个php档呼叫
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<title>图片档案上传</title>
</head>
<BODY>
<H3>图片档案上传:(存入资料库)<HR></H3>
<Form Action="mygetfile_pic.php" Method="POST"
Enctype="multipart/form-data">
<Input Type="File" Name="upfile" ><br>
<Input Type="Submit" value=" 开始上传 ">
</Form>
</BODY></HTML>
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<title>图片档案上传</title>
</head><BODY><H3>图档存入相关资讯:<HR></H3>
<?
echo "<BLOCKQUOTE>";
echo "档案名称:" . $_FILES["upfile"]["name"] . "<BR>";
echo "档案大小:" . $_FILES["upfile"]["size"] . "<BR>";
echo "档案类型:" . $_FILES["upfile"]["type"] . "<BR>";
echo "暂存档名:" . $_FILES["upfile"]["tmp_name"] . "<BR>";
if ( $_FILES["upfile"]["size"] > 0 )
{
//开启图片档
$file = fopen($_FILES["upfile"]["tmp_name"], "rb");
// 读入图片档资料
$fileContents = fread($file, filesize($_FILES["upfile"]["tmp_name"]));
//关闭图片档
fclose($file);
// 图片档案资料编码
$fileContents = base64_encode($fileContents);
//连结MySQL Server
$dbnum=mysql_connect("localhost","root","");
//选取资料库
mysql_select_db("pic");
//组合查询字串
$SQLSTR="Insert into myimage (filename,filesize,filetype,filepic) values('"
. $_FILES["upfile"]["name"] . "',"
. $_FILES["upfile"]["size"] . ",'"
. $_FILES["upfile"]["type"] . "','"
. $fileContents . "')";
//将图片档案资料写入资料库
if(!mysql_query($SQLSTR)==0)
{
echo "您所上传的档案已储存进入资料库<img src=\"showpic.php?filename="
. $_FILES["upfile"]["name"] . "\">";
}
else
{
echo "您所上传的档案无法储存进入资料库";
}
}
else
{
echo "图片上传失败";
}
echo "</BLOCKQUOTE>";
?>
<HR></BODY></HTML>
<?
$dbnum=mysql_connect("localhost","root","");
//选取资料库
mysql_select_db("pic");
//组合查询字串
$SQLSTR="select filepic,filetype from myimage where filename='"
. $_REQUEST["filename"] . "'";
//
$cur=mysql_query($SQLSTR);
//取出资料
$data=mysql_fetch_array( $cur );
//设定网页资料格式
header("Content-Type: $data[1]");
// 输出图片资料
echo base64_decode($data[0]);
?>
可以请大家帮我看看要修改哪里吗??
很不好意思 我知道有点长....~"~
麻烦罗!!拜托拜托~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.143.229.74
1F:→ iversonjimmy:我刚刚试着上传500多kb的 可以显示出来耶 ~"~ 06/02 23:44
2F:→ iversonjimmy:为什麽100多kb的显示不出来阿 ~"~ 拜托帮我解答罗!! 06/02 23:45
3F:推 aej:应该和档案大小无关!是用jpg档吗?我以前有碰过上传时jpg变大写 06/03 12:38
4F:→ aej:所以显示不出来,後来就重新更名再上传就成功了(php大小写不同 06/03 12:38
5F:推 iversonjimmy:是JPG档没错 我试看看和大小写有没有关系~ 谢谢你喔! 06/04 00:50