请问:文件上传有类型限制吗?

scissor 2004-01-02 04:22:05
我COPY了一段文件上传的代码,修改后可以使用,但是发现好像只能上传部分类型的文件,像rm\wmv\mp3\之类的格式,有些exe文件无法上传,有的可以传,一点上传按钮,IE就变成了“该页无法显示”,不知何故,请各位高手指点!

代码如下
<?
$upload_file=$_FILES['upload_file']['tmp_name'];
$upload_file_name=$_FILES['upload_file']['name'];

if($upload_file){
$file_size_max = 100000*100000;// 1M限制文件上传最大容量(bytes)
$store_dir = "./FILES/";// 上传文件的储存位置
$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;
}
?>
...全文
245 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
scissor 2004-01-03
  • 打赏
  • 举报
回复
已经解决了,是APACHE配置的问题:)
scissor 2004-01-02
  • 打赏
  • 举报
回复
PHP.INI 已经修改过了~

能提供原代码看一下吗?多谢了~
Cain 2004-01-02
  • 打赏
  • 举报
回复
我一直用copy上传的
建议你也试试
jxdyzwh 2004-01-02
  • 打赏
  • 举报
回复
你上传的MP3太大了,在PHP中,默认上传文件的大小只有2M,如果想上传更大的文件的话得在PHP.INI中修改下面的配置就OK了,记得修改后要重启服务哟
memory_limit = 20M;
file_uploads = On;
upload_max_filesize = 20M;
post_max_size = 20M
zalvsa 2004-01-02
  • 打赏
  • 举报
回复
上传没有类型限制,用COPY试一下。

21,891

社区成员

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

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