| 这个问题困扰我整整两天了,今天凌晨2:48分终于解决了,呵呵。目前自己的论坛也做的有一个段落了,今天晚上准备还在公司休息,明天上午再回家睡会。因为的白天大家都来了我没有办法在公司睡了。
/ `5 L1 D$ o: g& H/ x* _; ]& ^好了说下我给大家整理的方案吧。我也是这个问题,这安装了DZ没有办法上传2M以上的附件。% C; m2 c$ ^1 l- u3 ~! s
总是传一个文件传了半天,也不见附件,明显的传不上去 。* P6 Q) a/ }4 P- X1 i. a
最后总会出现这个提示:您的请求来路不正确或验证字串不符,无法提交。如果您安装了某种默认屏蔽来路信息的个人防火墙软件(如 Norton Internet Security),请设置其不要禁止来路信息后再试。
7 r- T5 N L& ?7 }0 k( z
4 W& q6 o/ t f$ Z第一,我首先是百度了下,得道答案:
4 p2 _* F: r# ?( @1. 选项 => Norton Internet Security => Web内容 => 浏览站点的信息 => 选择 "允许"(默认是"禁止")
' H* t( {* z% T t# l2. 禁止广告 => 配置(在窗口右下方) => 取消"启用禁止广告"的复选框
8 } ~; O! R& w* L
& E: Q, l9 B% ?9 ]我的服务器里没有装Norton 所以也就不会是这个问题。
* G6 T6 \* o: k' M) o0 _
A! `# e, u& y4 ^; l8 G第二, 具说是2003系统默认不允许传大于200KB的文件 M# | j/ s/ B& n, y% v
/ Q8 B3 F; O3 J" Y. f0 e& t
我又对系统做了以下设置:0 h9 w1 x/ b" s
A,-------------------------------------修改2003系统不支持上传大于200KB的文件方法-------------------------( i+ m' N" @, S# R; K- Z, o. q/ e! ]
* v. z( l/ c6 E4 T% q) H% h: i进行这两样设置都需要先关闭IIS服务,如果不会关闭可以在DOS命令符下输入 iisreset /stop 命令来关闭: \" f1 I8 Y) v6 d* N1 E
然后找到 C:\windows\system32\inesrv\metabase.xml 文件,使用记事本等工具打开此文件(没有关闭IIS时,此文件为只读)9 V, X) ~* r4 }: ?) [* u
查找ASPMaxRequestEntityAllowed,默认值为
0 h! i+ z) i# T3 @5 dAspMaxRequestEntityAllowed="204800"
8 j, l- H7 o1 C改为; Z0 X3 O* {+ `0 r
AspMaxRequestEntityAllowed="20480000"
5 P+ `$ u8 U. h) k; C, [* t, u B这样可以将默认最大允许上传的200K改为20M,同理,再来修改下载限制,查找AspBufferingLimit6 C5 J: d' ^2 B. n4 c, E
默认值为; o; b8 I7 T& {
AspBufferingLimit="4194304"
) }) P+ k9 L- C8 ~; \改为3 w( c4 D/ m$ L+ k
AspBufferingLimit="20480000"
+ }6 l& L$ z" ]7 G: s设置由默认最大允许下载的4M附件改为20M,设置完成后,重启IIS服务,也可以在DOS命令符下输入 iisreset /start 来重启。% ]! I3 }8 B0 X
! k( K$ e1 P' u4 }, A. H4 e/ I- BA,-------------------------------------修改2003系统不支持上传大于200KB的文件方法-------------------------
5 o3 q6 o& d$ Z6 X& G& O/ {) q5 ] B+ U( Y1 s6 m" }! N* W* F) N+ s" o
原想着这下就好了,可是等我怀着崇高的理想去再次发布附件的时候,问题还是再次出现。
; v5 F4 T# C* E8 Q# _还是不能上传大于2M的文件, 我去了google.里搜,关健词是:“DZ里的上传许可2M 更改”,得到如下修改方案:
, F% P2 U* ?- H4 r* g% x8 h7 |
0 n& b3 U3 \. H, }. K0 N1 nB,-----------------------------------------PHP,DZ修改上传大于2M 详细方案------------------------------------------------------------6 w- B8 @" p" @6 V) }: J9 q+ A D* _
: i# J2 t$ o ]' F, U. oPHP里如何正确调整上传附件大小限制.9 K8 E5 H7 T. ]/ k% t" F9 p& u; j% q
需要在PHP.ini里设置以下几项:; f. ^- r5 \/ e1 t. ~6 x
1. post_max_size =10M
4 ]: p+ @1 \8 a( Z8 F表单提交最大数据为10M.此项不是限制上传单个文件的大小,而是针对整个表单的提交数据进行限制的.6 d. ]0 Y/ u# ~6 ?/ j; m, O" q9 c; k+ p
限制范围包括表单提交的所有内容.例如:发表贴子时,贴子标题,内容,附件等... B2 ~; e! @8 |( K- A
2.file_uploads = On 7 S6 L4 h, f6 ^4 g, y+ n
是否允许上传文件,如果为OFF您将不能上传文件.
5 K' M6 G% ]! Q0 Y* e0 X+ X1 ^3.upload_tmp_dir = "D:/APM/PHP/uploadtemp/" ; K% E; e4 \: r: w
上传文件时系统使用的缓存目录.如果此目录所在磁盘空间不足的话您将不能上传文件.5 I. J. z% ?. D3 Y5 O2 v% s, c6 x
4.upload_max_filesize =2M
8 h) S# F7 d' O5 x9 p3 q" I6 l最大上传文件大小,此项针对上传文件时单个文件的大小.
( p- T: A$ Z, W# e6 ]! M! }: `
/ w( f- ]- N4 U* Z0 ~* L与post_max_size之间的关系:- Q% P5 Y; O4 H# A; J" k+ n/ q
在论坛发表贴子时,您post_max_size 设为10M,而此项设成了2M,那么您只能上传最大为2M的附件,且可以同时上传5个.
$ |& S; X: ?9 @/ N' H
# v) K0 ~ k, y2 o' \2 z特别要注意:很多人遇到修改php.ini后重应WEB服务后仍然不能生效.这种情况应该先确认一下所改的php.ini是不是当前PHP所使用的.(我本人就是吃这个大亏,搞了半天php.ini 修改错了,多耽误好几个小时,说出来想哭,,,,,)1 |0 I1 ]$ w8 y6 m' J. |# [- R
8 w# w2 D3 C1 I! e i* X您可以在WEB目录下建立一个php文件,内容很简单就一句话
" J$ ~4 r. ~1 M$ z5 n<?php
. k# R6 d) x5 u; p9 a9 V. q. V/ Hphpinfo();( P! |, o/ }4 \' N8 J& F. Y
?>5 Q+ G( T v1 y' m6 ~
浏览器中查看此文件, Configuration File (php.ini) Path 此项对应的就是您的PHP当前正在使用的php.ini文件了. a5 x6 m1 h+ Y% C# N/ u: ?
0 a. U" E4 J# Z" I1 s, x# B/ |B,---------------------------PHP,DZ修改上传大于2M 详细方案--------------------------------------------
9 Z |" l# [* {, y( W, b6 k; t5 [
8 n( Q6 e2 _! J2 ~这个也是我这两天来的遇到的问题吧,不遇到问题好说,遇到了问题就把他给解决了,不然问题会越积越多的,这也许就是大笨象的笨处吧,以防还有更多的朋友走我的老路,只要是能看完我这遍文章的朋友,应该就会很快的搞这定2003系统,PHP,DZ,上传文件限制的问题了。
8 b- F! D" u& j) ]; p
9 u6 E6 n' _; I5 m6 F: c) {好了,睡觉去了,明天还要上班,MD该死的DZ。。。。。嘿嘿
& [! j# E% A( q- @8 c) c( A5 f! A9 A/ ~( d
------------------------------------------------------------------------------------ | |