您好,匿名用户
随意问技术百科期待您的加入

IIS6.0环境下php页面错误

0 投票

win server 2003下,使用iis6.0的fastcgi方式配置了php5.4的环境,php解释器没有问题,能够解析phpinfo()简单的页面

但是在一个php和html混合编程的页面(apache2.4环境下能正确运行),却不能正确运行,代码如下:

<html><head>
<title>上载文件表单</title></head> 
<body> 
<form enctype="multipart/form-data" action="" method="post"> 
请选择文件: <br>
<input name="upload_file" type="file"><br>
<input type="submit" value="上传文件"> 
</form> 
</body>
</html> 

<?php
$upload_file=$_FILES['upload_file']['tmp_name'];
$upload_file_name=$_FILES['upload_file']['name'];

if($upload_file){
$file_size_max = 1000*1000*100;// 1M限制文件上传最大容量(bytes)
$store_dir = "C:\\websites\\huoxian\\upload\\";// 上传文件的储存位置
$accept_overwrite = 1;//是否允许覆盖相同文件
// 检查文件大小
if ($upload_file_size > $file_size_max) {
echo "对不起,你的文件容量大于规定";
exit;
}

// 检查读写文件
if (file_exists($store_dir . $upload_file_name) && !$accept_overwrite) {
Echo  "存在相同文件名的文件";
exit;
}

//复制文件到指定目录
if (!move_uploaded_file($upload_file,$store_dir.$upload_file_name)) {
echo "复制文件失败";
exit;
}

}

Echo  "<p>你上传了文件:";
echo $_FILES['upload_file']['name'];
echo "<br>";
//客户端机器文件的原名称。 

Echo  "文件的 MIME 类型为:";
echo $_FILES['upload_file']['type'];
//文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。 
echo "<br>";

Echo  "上传文件大小:";
echo $_FILES['upload_file']['size'];
//已上传文件的大小,单位为字节。 
echo "<br>";

Echo  "文件上传后被临时储存为:";
echo $_FILES['upload_file']['tmp_name'];
//文件被上传后在服务端储存的临时文件名。 
echo "<br>";


$Erroe=$_FILES['upload_file']['error'];
switch($Erroe){
    case 0:
      Echo  "上传成功"; break;
    case 1:
      Echo  "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值."; break;
    case 2:
      Echo  "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。";  break;
    case 3:
      Echo  "文件只有部分被上传";break;
    case 4:
      Echo  "没有文件被上传";break;
}
?>

报错信息:PHP Notice: Undefined variable: upload_file in C:\websites\upload\uploadFile.php on line 13

后来我把<?php开头的php去掉,页面可以显示,但是代码被if ($upload_file_size > $file_size_max) {这行的大于号截断了,无法执行下去

无奈,只能把html部分和php分成两个页面来写,但也不是长久之计,特来此拜问各位大虾!

用户头像 提问 2012年 12月1日 @ Lee Sin 上等兵 (347 威望)
分享到:

1个回答

0 投票

我看你代码写的,报的那个Notice很正常,apache下没有很可能是你的PHP配置禁止报错了!
另外,为什么把html和php分开写不是长久之计?合在一起才不是长久之计吧?

中间你说的截断问题没看懂,希望能配上截图

用户头像 回复 2012年 12月1日 @ Alistar 上等兵 (326 威望)
提一个问题:

相关问题

0 投票
1 回复 35 阅读
0 投票
1 回复 32 阅读
0 投票
1 回复 41 阅读
0 投票
1 回复 46 阅读
0 投票
1 回复 77 阅读
用户头像 提问 2012年 12月1日 @ Vayne 上等兵 (271 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...