十万火急,高手指点~~~~~~~~~~~~~~~~~
问题:按如下方法上传图片:
前段时间很少有图片上传不成功的现象,不成功概率1%左右
这几天上传失败概率为70%左右
服务器在北京,用户来自全国各地
本人在杭州,上传图片没有不成功的,所以我就纳闷了,到底是什么原因,哪位仁兄也碰到过这样的问题?
文件一:
...
<tr>
<td bgcolor="#FFF3DF"><B>产品图片:</B></td>
<td align="left" bgcolor="#FFF3DF">
<input name="smallpic" type="text" id="smallpic" size="30" onKeyDown="checkThis();">
<input type="button" name="Submit2" value="上传图片" onClick="window.open('upload_flash.php?formname=myform','','status=no,scrollbars=no,top=20,left=110,width=420,height=165')">
</td>
</tr>
...
upload_flash.php文件:
<html><head><title>图片上传</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="../001.css" rel="stylesheet" type="text/css">
<script language="javascript">
<!--
function mysub()
{
esave.style.visibility="visible";
}
-->
</script>
</head>
<body>
<form name="form1" method="post" action="uppic.php" enctype="multipart/form-data" >
<div id="esave" style="position:absolute; top:18px; left:40px; z-index:10; visibility:hidden">
<TABLE WIDTH=340 BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR><td width=20%></td>
<TD bgcolor=#ff0000 width="60%">
<TABLE WIDTH=100% height=120 BORDER=0 CELLSPACING=1 CELLPADDING=0>
<TR>
<td bgcolor=#ffffff align=center><font color=red>正在上传文件,请稍候...</font></td>
</tr>
</table>
</td><td width=20%></td>
</tr></table></div>
<table class="tableBorder" width="90%" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td align="center" background="images/admin_bg_2.gif"><b><font color="#ffffff">图片上传
</font></b>
</td>
</tr>
<tr >
<td align="center" id="upid" height="80">选择文件:
<input type="file" name="pic_file" size="40" class="tx1" value="">
<input type="submit" name="Submit" value="开始上传" class="button" onclick="javascript:mysub()">
</td>
</tr>
</table>
</form>
</body>
</html>
uppic.php文件如下:
<?
$pic_text = $_POST['pic_text'];
if ( $pic_text == "" )
{
$pic_text = "无";
}
$con_type = 0;
$con_size = 0;
$con_pix = 0;
//判断是否是图片类型的文件
if ( ( $_FILES['pic_file']['type']=="image/gif" )
|| ( $_FILES['pic_file']['type']=="image/pjpeg" )
|| ( $_FILES['pic_file']['type']=="image/jpeg" )
|| ( $_FILES['pic_file']['type']=="image/bmp" )
|| ( $_FILES['pic_file']['type']=="image/tiff" )
|| ( $_FILES['pic_file']['type']=="image/jp2" )
|| ( $_FILES['pic_file']['type']=="image/png" )
|| ( $_FILES['pic_file']['type']=="image/iff" ) )
{
$con_type = 1;//控制上传文件的类型
$image_size = getimagesize($_FILES['pic_file']['tmp_name']);
if ( ( $image_size[0] <= 800 ) && ( $image_size[1] <=600 ) )
{
$con_pix = 1;//控制上传图片的尺寸
}
}
if ( $_FILES['pic_file']['size']<=307200 )
{
$con_size = 1;//控制上传图片的大小
}
if ( ( $con_type == 1 ) && ( $con_size == 1 ) && ( $con_pix == 1 ) )
{
//通过函数getdate提取出系统的年、天、时、分、秒作为上传图片的文件名
$name_main= date('YmdHis');
//定义上传图片的扩展名
switch ( $_FILES['pic_file']['type'] )
{
case "image/gif":
$name_ext = ".gif";
break;
case "image/pjpeg":
$name_ext = ".jpg";
break;
case "image/jpeg":
$name_ext = ".jpg";
break;
case "image/bmp":
$name_ext = ".bmp";
break;
case "image/tiff":
$name_ext = ".tif";
break;
case "image/jp2":
$name_ext = ".jp2";
break;
case "image/png":
$name_ext = ".png";
break;
case "image/iff":
$name_ext = ".iff";
break;
}
$filename = 'uploadpic/'.$name_main.$name_ext;
$copymes = copy( $_FILES['pic_file']['tmp_name'] , $filename );
//如果是图形文件格式且大小和尺寸合适则显示
// echo "<p><img src='";
// echo $filename;
// echo "'align=center border=0><br/>";
?>
<script>window.opener.document.myform.smallpic.value='<?=$filename?>'</script>
<script language="javascript">
window.alert("文件上传成功!请不要修改生成的链接地址!");
window.close();
</script>
<?
}
else
{
echo '<font face="黑体" color="#ff0000" style="font-size: 28"> 上传错误!</font> ';
}
?>
<?
if ( ( $con_type == 1 ) && ( $con_size == 1 ) && ( $con_pix == 1 ) )
{
echo '<b>说明文字:</b>'.$pic_text;
}
else
{
echo '<b>错误提示:</b>';
if ( $con_type == 0 )
{
echo '上传的文件不是本系统能识别的图片格式 ';
}
if ( ( $con_type == 1 ) && ( $con_pix == 0 ) )
{
echo '上传的图片文件尺寸('.$image_size[0].'*'.$image_size[1].')不在规格(800*600)之内 ';
}
if ( $con_size == 0 )
{
echo '上传的文件大小('.(int) ( ($_FILES['pic_file']['size']) / 1000 ).'K)超过了200K';
}
}
?>