十万火急,高手指点~~~~~~~~~~~~~~~~~

sinichua 2005-11-17 07:15:34

问题:按如下方法上传图片:

前段时间很少有图片上传不成功的现象,不成功概率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';
}
}
?>


...全文
161 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sinichua 2005-11-20
  • 打赏
  • 举报
回复
正在找原因,以前一直都可以的

请高手帮我分析一下?
helloyou0 2005-11-20
  • 打赏
  • 举报
回复
不成功的原因是什么?用log记录一下?
sinichua 2005-11-20
  • 打赏
  • 举报
回复
高手呢?
ccxxcc 2005-11-17
  • 打赏
  • 举报
回复
$copymes = copy( $_FILES['pic_file']['tmp_name'] , $filename );
php推荐用move_uploaded_file()函数,最好在之前用is_uploaded_file()判断一下,比copy要稳定些
sinichua 2005-11-17
  • 打赏
  • 举报
回复
我的联系方式:
MSN、Email: sinichua@hotmail.com

QQ: 289113008

主页:http://www.zjhyt.com

论坛:http://bbs.zjhyt.com

大哥也可以把解决办法发到我邮箱
sinichua 2005-11-17
  • 打赏
  • 举报
回复
问题是不是出在这里
<script>window.opener.document.myform.smallpic.value='<?=$filename?>'</script>

我的网站地址是:http://www.zjhyt.com

图片显示不出的地方:图片地址为:http://www.zjhyt.com/hyt/uploadpic

hyt是存放上述文件的文件夹,

正确显示的图片地址应该是:http://www.zjhyt.com/hyt/uploadpic/20051117181554.jpg

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧