六神无主为了你,七个美女不如你,八抬大轿娶了你,九颗真心掏给你,全家幸福指望你

Php高手带路--问题汇总解答

上一篇 / 下一篇  2007-11-02 15:22:46

1:为什么我得不到变量PHPChina 开源社区门户;OULGW C-{~n
PHPChina 开源社区门户 ou {y"p4^t
  我在一网页向另一网页POST数据name,为什么输出$name时却得不到任何值?PHPChina 开源社区门户"u FnJ&ND

  在PHP4.2以后的版本中register_global默认为off
W;_GRo&t7k-pb)V0  若想取得从另一页面提交的变量:PHPChina 开源社区门户:R;dT|T9E!U

sn(K)[Y1F0  方法一:在PHP.ini中找到register_global,并把它设置为on.
$O9J [5l+]W0  方法二:在接收网页最前面放上这个extract($_POST);extract($_GET);(注意extract($_SESSION)前必须要有session_Start()).PHPChina 开源社区门户1k0CF;Y2v FL
  方法三:一个一个读取变量$a=$_GET["a"];$b=$_POST["b"]等,这种方法虽然麻烦,但比较安全.
1Z)t-]Q$l J0PHPChina 开源社区门户*T]c [CM3fL"O
  2:调试你的程序PHPChina 开源社区门户nw,P%@7EGog h$jT
PHPChina 开源社区门户$| }5m5AA^l7N4R:{
  在运行时必须知道某个变量为何值。我是这样做的,建立一文件debug.PHP,其内容如下:PHPChina 开源社区门户Gu @Up&t*F

b.Sf6D ^HI0  PHP代码:
3H%Z ~?q!K1Y!_o0
+~$h"g$d3Cx-F7B,O0Ap(lzGP?:C1` N0  <?PHP
+N2S4F]"a'j2}0  Ob_Start
();
M"C RD4_0
  session_Start();
a1u}&nW u6G/j7h0  Echo
"<pre>";PHPChina 开源社区门户 d|3U5]!M&H#P}7}

hY/`2jKeqRL&Y_:c}0  Echo
"本页得到的_GET变量有:";
A9_*V/?&PR7T0
  Print_R($_GET);
1Y^*?[w0
N!U0B[6wn/kl-i0  Echo
"本页得到的_POST变量有:";
*YX4`+o b6k0
  Print_R($_POST);
]s;{4r~P$}0
s^7gq ^ I*e;y0  Echo
"本页得到的_COOKIE变量有:";PHPChina 开源社区门户T oU e-A6^+\B
  Print_R($_COOKIE);
!L D1X2?j g)ey0
2jB5XU9Sj G @ K0  Echo
"本页得到的_session变量有:";PHPChina 开源社区门户Bv/`L%Z2}f^
  Print_R($_session);PHPChina 开源社区门户EX._)n+_%{,r f

(~3O:b3z#x eWx`s0  Echo
"</pre>";PHPChina 开源社区门户/VC5R6}m!x4q
  ?>PHPChina 开源社区门户]6sW;y0hf

jke LL!x0  然后在php.ini中设置:include_path = "c:/php",并将debug.PHP放在此文件夹,以后就可以在每个网页里包含此文件,查看得到的变量名和值.PHPChina 开源社区门户!U+}*S%C+jl e z?1V

4Q rC~m$^v0  3:如何使用session
@gkV$R;|/QD+N0
H'QNN]i+Hd0  凡是与session有关的,之前必须调用函数session_start();
$C(p,m3e/n1ukl0

/~!`ZYmR rVKi0  为session付值很简单,如:PHPChina 开源社区门户9]r$N3]iHX;uyDy

xL#Y9g,nVlWB}VZ0  PHP代码:
yLG?T_"M3]:D&w8n"a'd0PHPChina 开源社区门户MH3};mU2j
? _ZU4D$g2K-H0  <?PHP
9qP$\%ZW!IjA0  session_start
();
+F _7A M [c!} ``0
  $Name="这是一个session例子";PHPChina 开源社区门户/} A?-P4Y2E*x
  session_Register("Name");//注意,不要写成:session_Register("$Name");PHPChina 开源社区门户+FFEf!f0S4z
  Echo$_session["Name"];PHPChina 开源社区门户 L3k#vG5G@8g m cGc
  //之后$_SESSION["Name"]为"这是一个session例子"
3c;?|;^#b7lsCY.K0
  ?>PHPChina 开源社区门户~4x e7m|.c(F:K%~T
PHPChina 开源社区门户 J!hc Q/wOo
  在PHP4.2之后,可以为session直接付值:
qFHq m].b0
w9C c:cF-B$K8K0  PHP代码:
%E$y*U9zy^0
q j E1a8J(m1{ N0Z ExtL B0  <?PHPPHPChina 开源社区门户r BX0rM C'Q
  session_Start
();PHPChina 开源社区门户`f+J:ht2^ U8n
  $_session["name"]="value";PHPChina 开源社区门户3~ JC){aqK'mo
  ?>PHPChina 开源社区门户Bzt,W.f8N%c&tC(kN

PHPChina 开源社区门户C9~|%ZPR

取消session可以这样:

&];u-J4}0T0PHPChina 开源社区门户 @"BK*Y"D Z

PHP代码:PHPChina 开源社区门户$m?/T/iO-Kc

PHPChina 开源社区门户3PU y%c0R

PHPChina 开源社区门户9{)V-h4I)K/\&n.K9H7f

FGRi ]w4w0  <?PHPPHPChina 开源社区门户'Q s+{^+le_)C
  session_start
();PHPChina 开源社区门户+{:]Jnx BJ6D%]1[-p9p
  session_unset();
@*E0g*o`,r5R(J0
  session_destroy();PHPChina 开源社区门户:fQ UL$C
  ?>PHPChina 开源社区门户tP&h x9s'LJ*W!U

I_ K)\+|Cq.U%B0  取消某个session变量在PHP4.2以上还有BUG.
h:bx~Ut%a8`Q0PHPChina 开源社区门户8zA(Kbb-j s
  注意:
?h(KQ!TU3sy Y0
PHPChina 开源社区门户-|?mk |P
  1:在调用session_Start()之前不能有任何输出.例如下面是错误的.
5T%Mb7V5evTU0  ==========================================PHPChina 开源社区门户"W.N:d'P*t
  1行PHPChina 开源社区门户)J2CUV~
  2行-L/N&gO9RewZB5w03行session_Start();//之前在第一行已经有输出
.?il2c'i9PG4xj0  4行 .....PHPChina 开源社区门户M)Xr$O~ nP9h5a
  5行 ?>PHPChina 开源社区门户R.UL:p8av2u/D$tV1h
  ==========================================
4{ c5^*LE)s+q.`*wBM0
N!Sqed$Z;`+Fr+M0  提示1:
I dV*r-A P#Epz@0
W*N*f5@K n-}`#jn%M0  凡是出现"........headers already sent..........",就是session_Start()之前向浏览器输出信息.去掉输出就正常,(COOKIE也会出现这种错误,错误原因一样)
Y}-X;F/tc+p0
G'A^4i,}$_0  提示2:PHPChina 开源社区门户r{%M3Uo0f@P O9{
PHPChina 开源社区门户k0l3JEb@3qd!f
  如果你的session_Start()放在循环语句里,并且很难确定之前哪里向浏览器输出信息,可以用下面这种方法:
7M j0g/wO0  1行<?PHPOb_Start(); ?>
7Z.MF*Q0aIw~0  ........这里是你的程序......PHPChina 开源社区门户6_e2f \ cmSW
PHPChina 开源社区门户;zE)XA)@L*\U&|X}
  2:这是什么错误PHPChina 开源社区门户K6TXG0y m^

3Y hJ w[9r(ru-e;oI0  Warning:session_start(): open(/tmp\sess_7d190aa36b4c5ec13a5c1649cc2da23f, O_RDWR) failed:....
@vnrI0因为你没有指定session文件的存放路径.PHPChina 开源社区门户)CW6b~*p8d~
PHPChina 开源社区门户 d3a(Q)DJL$oP,v
  解决方法:PHPChina 开源社区门户%p nvf7kX5\:c
  (1)在c盘建立文件夹tmpPHPChina 开源社区门户f(Ehw%kR0L
  (2)打开PHP.ini,找到session.save_path,修改为session.save_path= "c:/tmp"PHPChina 开源社区门户/@5^Yj`LW5~C(i

.Eh9mx Z7a0PHPChina 开源社区门户Pn#\k;p\FfR Q
  4:为什么我向另一网页传送变量时,只得到前半部分,以空格开头的则全部丢失
*I(S+YdZ3CQ0PHPChina 开源社区门户)VG9_b"R6a
  PHP代码:
tgsJI(k9@ X~0
/Xdg7J(C!e v0,k,gx%e? a0  <?PHPPHPChina 开源社区门户:f"`I!J!cEt%p
  $Var
="helloPHP";//修改为$Var="     helloPHP";试试得到什么结果
\$^ n9Yz&{m0
  $post="receive.PHP?Name=".$Var;PHPChina 开源社区门户`V)Hwf;IJ5c ROv
  header("location:$post");
{A:?1@)r^B+x4S0
  ?>PHPChina 开源社区门户7e[~FH/Z

b o1z(g L+s4V0lO0  receive.PHP的内容:PHPChina 开源社区门户 [ RM"DUdZ
PHPChina 开源社区门户0_[l+\S)Y5p#]
  PHP代码:
'e1t-s/\IJ q'l0
Xd)Phd#c-Q(J0uG!|+n*X,s%S6k*v0  <?PHP
vP C:V Q0
  Echo"<pre>";PHPChina 开源社区门户x"~zw:])p
  Echo   
$_GET["Name"];PHPChina 开源社区门户(c(U:eAxy?
  Echo
"</pre>";
(E]$x5a8_ `0
  ?>
;Dy9` @ K0

HGWs{j0  正确的方法是:PHPChina 开源社区门户u`B4_!g[,O7o
PHPChina 开源社区门户8e)Q)p+^ j,x6U y @7G
  PHP代码:PHPChina 开源社区门户\fsKT
PHPChina 开源社区门户S@b8vE
A1XZ9TD%F(pC7m0  <?PHPPHPChina 开源社区门户,r"mPzVn8X.V
  $Var
="helloPHP";PHPChina 开源社区门户$k RG(k;E`:P!A2?*U'm
  $post="receive.PHP?Name=".urlencode($Var);PHPChina 开源社区门户x6u*@:|'Q2y&n
  header("location:$post");
*u/A!ysJLL;}0
  ?>PHPChina 开源社区门户e^ JRQ/sq

A,t ZY?3o#B e`GI0  在接收页面你不需要使用Urldecode(),变量会自动编码.PHPChina 开源社区门户 C2a1C HAX$Qi-}

/{&N D6R0nqRk_05:如何截取指定长度汉字而不会出现以"?>"结尾,超出部分以"..."代替PHPChina 开源社区门户j+w%}J!nA I1O
PHPChina 开源社区门户6yO y$f%l
  一般来说,要截取的变量来自MySQL,首先要保证那个字段长度要足够长,一般为char(200),可以保持100个汉字,包括标点.
Hr3gYh2Y!Y#zJ'Q0
!h$Jn/m&C c-X"O;xN @p0  PHP代码:
N:MEt|Xv4fg0PHPChina 开源社区门户 xT%u'kN kxD
8U0PJ%U9g0  <?PHP
X)RD,S?0@^0  $str
="这个字符好长呀,^_^";PHPChina 开源社区门户1t_8EO Q-@;X,@/Lq
  $Short_Str=showShort($str,4);//截取前面4个汉字,结果为:这个字符...
1sizYR9D3H&PC0
  Echo   "$Short_Str";PHPChina 开源社区门户9pPax^'I
  Function
csubstr($str,$start,$len)
#k*?L1L'NT,`z'b0  {
!s*FfJ*w2_`(K#A0
  $strlen=strlen($str);
F,Xn_"v0
  $clen=0;PHPChina 开源社区门户 j)L4T Z I"i
  for(
$i=0;$i<$strlen;$i++,$clen++)
@)N'N5WI(Zs%q0  {
O2wq l*FM"k0  if (
$clen>=$start+$len)PHPChina 开源社区门户G0h2|'n?-QH
  break;PHPChina 开源社区门户z'{;WO'G,uk g
  if(
ord(substr($str,$i,1))>0xa0)
cK'|O[y_ q w!j0  {
jdd-ID@0  if (
$clen>=$start)PHPChina 开源社区门户Ox5L+g6x
  $tmpstr.=substr($str,$i,2);
-p:ZHD^,Hs,Va9]7Y0
  $i++;PHPChina 开源社区门户{:a7@wJj
  }
4EZu-_{'C0  elsePHPChina 开源社区门户4ax&j0\ OE b
  {
(\ M)f.mO!X4|};Gy0  if (
$clen>=$start)PHPChina 开源社区门户E(xQ+lBfE
  $tmpstr.=substr($str,$i,1);
6jr7xsnt Nk;Hw'j0  }
@-l4fFQm0  }PHPChina 开源社区门户 ]`A&M+c:C|3ht
PHPChina 开源社区门户C^/X$R]k-U5}
  return
$tmpstr;PHPChina 开源社区门户0p6@Q(P#r
  }PHPChina 开源社区门户BIde7|P`"FiBj
  Function
showShort($str,$len)
(dOd|+i9g1G0  {
BB;gN'c0
  $tempstr=csubstr($str,0,$len);PHPChina 开源社区门户zo_^6@ O3F
  if (
$str<>$tempstr)
(o:r;g4W]g|0
  $tempstr.="...";//要以什么结尾,修改这里就可以.PHPChina 开源社区门户3j*~R-d T.Z!BHW

.k'q4VO"FP!O0
  return$tempstr;PHPChina 开源社区门户:@B5d~*SU0Z
  }PHPChina 开源社区门户z$V;u KX9Z,x

2s/^%j5@_b1}b0PHPChina 开源社区门户0XE.q2Acl@)C
  6:规范你的SQL语句
&QZ)@Jk2sS9a`0PHPChina 开源社区门户h;N[#KNFN
  在表格,字段前面加上"`",这样就不会因为误用关键字而出现错误,当然我并不推荐你使用关键字.
1}aB/T)p:\g'bZ0PHPChina 开源社区门户s:NX P5l7|1A
  例如
&s_{ x-AE0  $Sql="INSERT INTO `xltxlm` (`author`, `title`, `id`, `content`, `date`) VALUES ('xltxlm', 'use`', 1, 'criterion your sql string ', '2003-07-11 00:00:00')"PHPChina 开源社区门户"q0Pu$Ji}.Z
PHPChina 开源社区门户kw1]0B%xI |)^
  "`"怎么输入? 在TAB键上面.PHPChina 开源社区门户R3NK"O9s+x
PHPChina 开源社区门户!S2tu n4?}NFY*cb4U `
PHPChina 开源社区门户(C0}*f;?M3I)u
  7:如何使Html/PHP格式的字符串不被解释,而是照原样显示PHPChina 开源社区门户N.c6B6a!\a1bS#c

}"A.vI/C0  PHP代码:PHPChina 开源社区门户Mu&j_K2Ru

Rc3{ j,{+OX T0PHPChina 开源社区门户u/PD&mXs!Q6g1]#Os
  <?PHPPHPChina 开源社区门户%Z0Yv S4ibf
  $str
="<h1>PHP</h1>";
:iJ:[S,|!T0  Echo
"被解释过的: ".$str."<br>经过处理的:";PHPChina 开源社区门户^ K/toE'{V*I.Gs
  Echo   
htmlentities(nl2br($str));
I,yF-g D{ }0
  ?>PHPChina 开源社区门户Z.bdCymD Q{
PHPChina 开源社区门户g"xJ3Lo%W

PHPChina 开源社区门户t+G4AD??9Z

PHPChina 开源社区门户X-N}/@2G$x8WZ;k

Z:T~l5Z |;b,h0  8:怎么在函数里取得函数外的变量值PHPChina 开源社区门户u3qtHP

9B*m@8b8PNaA0  PHP代码:PHPChina 开源社区门户!@%@9sIDfO

Rm` t?0&[}x3V["e5eA0k0  <?PHP
Vr+P.G(C+P"A"G0  $a
="PHP";
Hy }l@D}+Ak0
  foo();PHPChina 开源社区门户1M3V"U DrT Q@.c ZT
  Function
foo()PHPChina 开源社区门户B h[ ac
  {PHPChina 开源社区门户%@3Oq7i$X n
   global
$a;//删除这里看看是什么结果PHPChina 开源社区门户7xP"qHX,o8X
   
Echo"$a";
+Nq{l8I]K0  }
FovCN4d'x-N7}6Md0
  ?>

n:Ob&mb%M0

}Byq&Q09:我怎么知道系统默认支持什么函数PHPChina 开源社区门户 rY0h#__8ld&y

` ^bJF5Y0{0  PHP代码:PHPChina 开源社区门户/B-V#cy6qdip
PHPChina 开源社区门户Gb}qki6r3z5}s
D9gG\*n&FQ.g$Z0  <?PHP
H$H'O(A/a+pu0  $arr
=get_defined_functions();PHPChina 开源社区门户]:_yG TU
  Function
PHP() {
J{ I*G6U,V;@0  }PHPChina 开源社区门户Fk+IQ'@,z
  echo   
"<pre>";PHPChina 开源社区门户E'X+lh`
  Echo   
"这里显示系统所支持的所有函数,和自定以函数PHP\n";PHPChina 开源社区门户9vM/n S'TF-{`.S
  print_r($arr);PHPChina 开源社区门户iZz4{#^Q
  echo   
"</pre>";
;j}3l4Ja"R0
  ?> 
b?;^ k4b&~ uMl0PHPChina 开源社区门户JpA@\4\
PHPChina 开源社区门户;y+g7xcixtbR
  10:如何比较两个日期相差几天PHPChina 开源社区门户+}Zu[J[
PHPChina 开源社区门户&Q;Xu(P M%y o
  PHP代码:PHPChina 开源社区门户4jZ5z h8rX~;l
PHPChina 开源社区门户4I!ke9bo3J6|tC
  <?PHPPHPChina 开源社区门户&[t$O)d|&Kc D0_
  $Date_1
="2003-7-15";//也可以是:$Date_1="2003-7-15 23:29:14";
$A b IoP"y-a~f&d0
  $Date_2="1982-10-1";
;eq8rOy.~.`1{0
  $d1=strtotime($Date_1);
B)SFy Q:f2U0
  $d2=strtotime($Date_2);PHPChina 开源社区门户#N|_!C$h8b:@
  $Days=round(($d1-$d2)/3600/24);PHPChina 开源社区门户)w@a+dH+g
  Echo   
"偶已经奋斗了 $Days 天^_^";PHPChina 开源社区门户'u Z;X.Jv?mc
  ?>PHPChina 开源社区门户&LyQmZ [!`&n

9Z#b_3nye'_PG2{0PHPChina 开源社区门户@;M$|}\;E;cf
  11:为什么我升级PHP后,原来的程序出现满屏的 Notice: Undefined variable:
-@k)~ b$h0}0

9bYgl'b9\4G2V0  这是警告的意思,由于变量未定义引起的.
&?9\$Rm'R-{#K0  打开PHP.ini,找到最下面的error_reporting,修改为error_reporting = E_ALL & ~E_NOTICEPHPChina 开源社区门户%i qf)I7R,j3G8NG
PHPChina 开源社区门户l%x_e}(Q0PE ^
  对于Parse error错误
@1vbhg2d9|7x Q'U0  error_reporting(0)无法关闭.
:f9o [Queu#r0  如果你想关闭任何错误提示,打开PHP.ini,找到display_errors,设置为display_errors = Off.以后任何错误都不会提示.PHPChina 开源社区门户*v*I-xx7B&_ fE
PHPChina 开源社区门户3x:X*b+gG
  那什么是error_reporting?PHPChina 开源社区门户N5x;z;C([Ew:m

VBA1{]0
6NC v&F)?!L4VG0  12:我想在每个文件最前,最后面都加上一文件.但一个一个添加很麻烦PHPChina 开源社区门户4b7Q%ug `Nf

p} s F4C0  1:打开PHP.ini文件
Pj5eoi0  设置 include_path= "c:"
4{4f!J1N.MlO4Rp g0PHPChina 开源社区门户7py:m#fe}
  2:写两个文件
B [?[K3} V#d0  auto_prepend_file.php 和 auto_append_file.php 保存在c盘,他们将自动依附在每个PHP文件的头部和尾部.
(vQ,}'z"qP#X0PHPChina 开源社区门户2U#w|4Q3A
  3:在PHP.ini中找到:
S0}K lV!?4D0  Automatically add files before or after anyPHPdocument.
`o1a J5a} n%Rl0  auto_prepend_file = auto_prepend_file.PHP;依附在头部
m{]IC[0  auto_append_file = auto_append_file.PHP;依附在尾部
/OTly3Y0PHPChina 开源社区门户DMOs \5N&N Q:B
  以后你每个PHP文件就相当于
V7^K fC&T?5Y}u0PHPChina 开源社区门户R$\ si D7wq%lZA
  PHP代码:
HL8x*M#gW'Xl6s0
0e'{:w"dU7u5X!Mnn0PHPChina 开源社区门户 xU A:z$Nb
  <?PHPPHPChina 开源社区门户/_h3}!]V2[Y+pk
  Include"auto_prepend_file.PHP";PHPChina 开源社区门户0Y!C-Xh'GJ a)?
PHPChina 开源社区门户 {%|y5uO9yg,`9Xh
  .......
//这里是你的程序PHPChina 开源社区门户:P&th_vNR wg^p
PHPChina 开源社区门户/O1nM*EQ.BT-Y
  Include"auto_append_file.PHP";PHPChina 开源社区门户esE0]b
  ?>
!hU1wki6}N'M\Y0
PHPChina 开源社区门户.eGE6mA!X_4q7n
PHPChina 开源社区门户 C b ^T%et
  13:如何利用PHP上传文件PHPChina 开源社区门户x-Sn _$Aq o
PHPChina 开源社区门户 \$no0wd:A}f~o.C
  PHP代码:

n k/f,_ N D9g0PHPChina 开源社区门户v/R&?T8X6d P

7?r:J:s$a{0

F0J7`[tz5B$_6j0  <html><head>
8bqj2\+_0  <title>上载文件表单</title></head>
~)iO MUxi0  <body>
t8Qmb(W@0pS"D.ls#b0  <form enctype="multipart/form-data" action="" method="post">PHPChina 开源社区门户Ks]Cpn}$m#v
  请选择文件: <br>
9g] Ky7l0u4R\T&p0  <input name="upload_file" type="file"><br>PHPChina 开源社区门户C|8]hh_VY
  <input type="submit" value="上传文件">PHPChina 开源社区门户:mJ GhV ?c6|*b'S
  </form>
C#e[-U2c t4P)]0  </body>PHPChina 开源社区门户 {h JA#vN?4F-ED
  </html>

7i'MNAQ6C?]0PHPChina 开源社区门户ZY,FPL1c8E7`){#A~6~p

<?PHPChina 开源社区门户d#f|^.W%L&L _+T
  $upload_file
=$_FILES['upload_file']['tmp_name'];
R%T.Rl4g3zT\x{9P0
  $upload_file_name=$_FILES['upload_file']['name'];
]hHU t M X1fH;{0
D"I(M0X#hX"x^R0  if(
$upload_file){PHPChina 开源社区门户fp/z/H7P0]x
  $file_size_max=1000*1000;// 1M限制文件上传最大容量(bytes)
Z&V_T|@;o0
  $store_dir="d:/";// 上传文件的储存位置
u#h3e w#]nY0
  $accept_overwrite=1;//是否允许覆盖相同文件
%@ MB%@o3{v0  // 检查文件大小PHPChina 开源社区门户8c@Ss F _-C
  if ($upload_file_size>$file_size_max) {PHPChina 开源社区门户 X,r0X"Ai,i
  echo
"对不起,你的文件容量大于规定";PHPChina 开源社区门户RY?Y)bl}
  exit;PHPChina 开源社区门户/u5dLJ\]/i/v
  }PHPChina 开源社区门户 ^EJ:o`6H"H g n
PHPChina 开源社区门户m?q${AL"u(X(ha
  // 检查读写文件PHPChina 开源社区门户y&o/k:y&` { \-uK[1\
  if (file_exists($store_dir.$upload_file_name) && !$accept_overwrite) {PHPChina 开源社区门户R+A\G.w o.SH'Xq:l
  Echo   
"存在相同文件名的文件";
{%Z A1q,|pK[$Q0  exit;PHPChina 开源社区门户*my;Iv%_ F
  }PHPChina 开源社区门户V.N,Y Z LW
PHPChina 开源社区门户;_N;RIl0U+?Y _
  //复制文件到指定目录
3E mmxl:O^7Z0
  if (!move_uploaded_file($upload_file,$store_dir.$upload_file_name)) {PHPChina 开源社区门户XO7VRX1MC;Q:?
  echo
"复制文件失败";PHPChina 开源社区门户sA8XJM*U'sv7Z;cd
  exit;
3ij-rYqV0  }
(S%X!~r0M|z`0PHPChina 开源社区门户:u oS2E w,i v
  }
'xp[K b+T%e-DO0PHPChina 开源社区门户1PX~3VEQT
  Echo   
"<p>你上传了文件:";PHPChina 开源社区门户7E8uH|6b A
  echo  
$_FILES['upload_file']['name'];
Eo l+a)j"pA0  echo
"<br>";
L0](QP m"Qp f M0
  //客户端机器文件的原名称。
I.L k/S+s&|0PHPChina 开源社区门户[&JNg@gZ
  Echo   "文件的 MIME 类型为:";
P:a2~Yp M;L0  echo
$_FILES['upload_file']['type'];
1~}Y}C3|t$R0
  //文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。
zF gi0`$li x'd0w0
  echo"<br>";
u"JQ5uR0PHPChina 开源社区门户 kr5bI+QL!F
  Echo   
"上传文件大小:";
\^7h'HZ#xZ#dJ~0  echo
$_FILES['upload_file']['size'];PHPChina 开源社区门户W\!{t&C'p.ys
  //已上传文件的大小,单位为字节。PHPChina 开源社区门户1_;a{ o E|p
  echo"<br>";PHPChina 开源社区门户$H m-S!i+@f6?"@
PHPChina 开源社区门户"tfw:jInMDv
  Echo   
"文件上传后被临时储存为:";
;Z)C {&?,`X(Q*A0  echo
$_FILES['upload_file']['tmp_name'];
ZZl-W]4l0
  //文件被上传后在服务端储存的临时文件名。
#U.n A9[,j0
  echo"<br>";PHPChina 开源社区门户J5U c,B \v@
PHPChina 开源社区门户8T9T5d7f3|TF:}P
PHPChina 开源社区门户.yk0T[ PKhtI?
  $Erroe=$_FILES['upload_file']['error'];
1s \_)UA\0  switch(
$Erroe){
7[ HN-rF]"Zh }0          case
0:PHPChina 开源社区门户u]3|U {)m \H_ n
             Echo   
"上传成功"; break;
)a.p*a0WgTvS0          case
1:PHPChina 开源社区门户*xi*ael$y3y4Xm
             Echo   
"上传的文件超过了PHP.ini 中 upload_max_filesize 选项限制的值."; break;
F d:vG1aO0          case
2:PHPChina 开源社区门户9]'l)^N;C1\.C
             Echo   
"上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。";    break;
*k"I2D~,L|%WP0          case
3:
,F;Cip*o-fY!q0             Echo   
"文件只有部分被上传";break;
(h&nPV#m0|0          case
4:
M F7vh$Y+|]0             Echo   
"没有文件被上传";break;PHPChina 开源社区门户N%hV3mue^3Pv r
  }
+r,pn4M)OJ\:j}0
  ?>
8l*RR+QK.s}0PHPChina 开源社区门户:CM+]M.J)^0qW

,r N ?K+V W5L0  14:如何配置GD库PHPChina 开源社区门户"c*A:AB|;ku

6O*{Dt O0  下面是我的配置过程PHPChina 开源社区门户$Me"bE[%a
  1:用dos命令(也可以手动操作,拷贝dlls文件夹里所有dll文件到system32目录下) copy c:\PHP\dlls\*.dll c:\windows\system32\
/S9G.[;w5@4Sy0  2:打开PHP.iniPHPChina 开源社区门户.c!Q"m#`s^{
  设置extension_dir = "c:/PHP/extensions/";PHPChina 开源社区门户0PG!G/rVm_"PUX
  3:PHPChina 开源社区门户4^'Ah*dXQ
  extension=php_gd2.dll;把extension前面的逗号去掉,如果没有php_gd2.dll,PHP_gd.dll也一样,保证确实存在这一文件c:/php/extensions/PHP_gd2.dllPHPChina 开源社区门户 Q5aQ N\
  4:运行下面程序进行测试
,I}(A4v5HX8D,R*E0PHPChina 开源社区门户+g9V!\P@
  PHP代码:
JVP0W/]2R"U_*t0
cSu#p7h Y0PHPChina 开源社区门户)t!t#R:}.X.g L6B8]
  <?PHPPHPChina 开源社区门户Y4c z:N6B1\b
  Ob_end_flush
();
z2sj&m)u\)uN$u0
  //注意,在此之前不能向浏览器输出任何信息,要注意是否设置了 auto_prepend_file.
8ip8bXR{+O S0
  header("Content-type: image/png");PHPChina 开源社区门户3@M'@of4}
  $im= @imagecreate(200,100)
O"GA%Yzh0     or die (
"无法创建图像");PHPChina 开源社区门户-C-droa1d6L.\
  $background_color=imagecolorallocate($im,0,0,0);
&_[5X*IE|/w0
  $text_color=imagecolorallocate($im,230,140,150);PHPChina 开源社区门户7M$}[r2CZ
  imagestring($im,3,30,50,  "A Simple Text String",$text_color);PHPChina 开源社区门户&s d"f&P\R'I
  imagepng($im);
7TdxQ7m7SMo8C7I0
  ?>PHPChina 开源社区门户6Y%~n.]*~/U+rz
PHPChina 开源社区门户F6fM{ D#bl4g
  点击这里查看结果
rR1~ J,e4rj}Md0PHPChina 开源社区门户"gncho@
PHPChina 开源社区门户&| N"J?)bs S%k
  15:什么是UBB代码
duB'W-J0
*@8^wa&F+rH$@&rZ0  UBB代码是HTML的一个变种,是Ultimate Bulletin Board (国外一个BBS程序,国内也有不少地方使用这个程序)采用的一种特殊的TAG.
:XcLp n'E0_r0  即使禁止使用 HTML,你也可以用 UBBCode? 来实现.也许你更希望使用 UBBCode? 而不是 HTML, 即使论坛允许使用 HTML, 因为使用起来代码较少也更安全.

g8T{3@4s.U0W0

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

数据统计

  • 访问量: 5716
  • 日志数: 72
  • 图片数: 7
  • 建立时间: 2007-09-12
  • 更新时间: 2008-01-02

RSS订阅

Open Toolbar