PHP文件上传的问题,文件大小发生改变,文件不能正常打开,请高手帮忙! 测试php配置的文件:http://mail.gobigstar.com/test.php 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没有,代码和实例中的代码一样,我怀疑是系统配置的问题,但是找不到原因!下面是文件上传部分的代码: if (file_exists("attach/".$attachfile_name)){ $fileexists = $attachfile_name; break; } if ($attachfile_size==0 || $attachfile_name=="none"){ break; } $tmp_filename = $_FILES['attachfile']['tmp_name']; ($FD_LIST_ATTACH = fopen($listattachfile,"a")) || die("Error open $listattachfile!"); fputs($FD_LIST_ATTACH, $attachfile_name."\t". $attachfile_size."\t". $attachfile_type."\n" ); fclose($FD_LIST_ATTACH); //echo "文件名:".$tmp_filename."大小:".$HTTP_POST_FILES['attachfile']['size']; //copy($tmp_filename,"attach/".$_FILES['attachfile']['name']); copy($attachfile,"attach/".$attachfile_name); 一般都有上传之后Unlink命令的,用来删除做上传缓冲用的临时文件怎么我没看见?$fileurl=$_POST["posturl"] //取得文件全路径$file=$fileurl_name; //取得文件名$up=copy("$fileurl","/var/html/upload/$file"); //核心部分,上传文件到服务器if ($up==1) { echo "成功!"; }unlink ($fileurl); //取消缓冲 加上了unlink语句,依然无效,看来不是这个语句的问题.本问题的关键就是上传已经成功,上传的东西可是走了样! fputs($FD_LIST_ATTACH, $attachfile_name."\t".©($attachfile,"attach/".$attachfile_name);??? fputs($FD_LIST_ATTACH, $attachfile_name."\t".这一句只是维护一个上传文件的列表 $attachfile是什么,在那赋的值?代码中使用了$_FILES数组,那么$attachfile不应该是上传后的文件名 attachfile是传文件的文件域的表单名,按道理是一样的.那一行删掉后故障依旧,故此时觉得是php或apache安装的问题! 看来大家的回复都没有答到正点子上去。昨天我自己摸索终于解决了这个问题,原来是rh9默认安装的apache和php有问题,最天自己编译安装这两个部件后,问题解决了! 请教大牛 在win系统下 php调用系统命令删目录 php如何获取sql语句统计结果 数据无法写入数据库 事件后再执行PHP php提交表单中如何获取button的值? 用php发送电子邮件时出现SMTP server response: 553 authentication is required错误 【求助】 YII 框架跨应用模型间的调用 怎样屏蔽掉浏览器的script错误提示? 简单问题:表单按钮的事件响应。 上次喝酒是为女孩子,这次喝是为什么 imail邮件服务器的问题。通过php怎么在imail中加入邮件用户? 请问怎样直接打开一个URL的页面?
下面是文件上传部分的代码:
if (file_exists("attach/".$attachfile_name)){
$fileexists = $attachfile_name;
break;
}
if ($attachfile_size==0 || $attachfile_name=="none"){
break;
} $tmp_filename = $_FILES['attachfile']['tmp_name']; ($FD_LIST_ATTACH = fopen($listattachfile,"a")) || die("Error open $listattachfile!");
fputs($FD_LIST_ATTACH, $attachfile_name."\t".
$attachfile_size."\t".
$attachfile_type."\n"
);
fclose($FD_LIST_ATTACH);
//echo "文件名:".$tmp_filename."大小:".$HTTP_POST_FILES['attachfile']['size'];
//copy($tmp_filename,"attach/".$_FILES['attachfile']['name']);
copy($attachfile,"attach/".$attachfile_name);
怎么我没看见?$fileurl=$_POST["posturl"] //取得文件全路径$file=$fileurl_name; //取得文件名$up=copy("$fileurl","/var/html/upload/$file"); //核心部分,上传文件到服务器if ($up==1) { echo "成功!"; }unlink ($fileurl); //取消缓冲
本问题的关键就是上传已经成功,上传的东西可是走了样!
这一句只是维护一个上传文件的列表
代码中使用了$_FILES数组,那么$attachfile不应该是上传后的文件名
昨天我自己摸索终于解决了这个问题,原来是rh9默认安装的apache和php有问题,最天自己编译安装这两个部件后,问题解决了!