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有问题,最天自己编译安装这两个部件后,问题解决了! 不显示删除回复显示所有回复显示星级回复显示得分回复 如何让层不随着屏幕的分辨率的改变而改变 PHP 中的MVC怎么搭建?急急急! php 中 mysql 外键约束的问题 北京诚招中级PHP程序员 php如何解析这个json php有没有好的IDE? 關于sql防注入的問題~~~!!!!! 在IF语句中使用HEADER()函数是不是需要更改配置? 不同页面之间的form的数据传递 http://www.cnns.net/article/db/2018.htm 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有问题,最天自己编译安装这两个部件后,问题解决了!