锟斤拷锟节汇集锟斤拷锟斤拷锟斤拷写 PHP 锟脚憋拷时锟斤拷锟斤拷锟斤拷锟斤拷锟侥达拷锟斤拷锟斤拷锟酵拷锟斤拷锟�
PHP is a glue that brings together hundreds of external libraries, so sometimes this gets messy. However, a simple rule of thumb is as follows:
Array functionparameters are ordered as " needle, haystack" whereas String functionsare the opposite, so " haystack, needle".
PHP 锟结供锟杰讹拷" 预锟斤拷锟斤拷锟斤拷锟�"锟斤拷锟斤拷锟界超全锟街憋拷锟斤拷 $_POST锟斤拷锟斤拷锟皆憋拷锟斤拷 $_POST锟斤拷锟斤拷锟斤拷锟斤拷为锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷通锟斤拷 POST 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷系锟斤拷锟斤拷锟介。锟斤拷锟界,锟斤拷锟斤拷锟斤拷 foreach锟津单地憋拷锟斤拷锟斤拷锟斤拷锟斤拷锟� empty()值锟斤拷锟皆硷拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟�
<?php
$empty = $post = array();
foreach ($_POST as $varname => $varvalue) {
if (empty($varvalue)) {
$empty[$varname] = $varvalue;
} else {
$post[$varname] = $varvalue;
}
}
print "<pre>";
if (empty($empty)) {
print "None of the POSTed values are empty, posted:\n";
var_dump($post);
} else {
print "We have " . count($empty) . " empty values\n";
print "Posted:\n"; var_dump($post);
print "Empty:\n"; var_dump($empty);
exit;
}
?>
Note: Superglobal 锟斤拷锟斤拷锟斤拷说锟斤拷锟斤拷
锟斤拷 PHP 4.1.0 锟斤拷锟斤拷锟绞癸拷锟� Superglobal 锟斤拷锟介,锟斤拷锟斤拷 $_GET锟斤拷$_POST锟斤拷锟斤拷 $_SERVER锟斤拷锟饺等★拷锟斤拷锟斤拷锟斤拷息锟斤拷锟侥讹拷锟街诧拷锟叫碉拷 superglobals 锟铰节★拷
锟斤拷锟斤拷 addslashes()锟杰癸拷实锟斤拷锟斤拷锟街诧拷锟斤拷锟斤拷锟斤拷锟斤拷暮锟斤拷锟� mysql_escape_string()锟斤拷锟斤拷锟解,锟斤拷锟斤拷锟斤拷锟矫猴拷锟斤拷 stripslashes()锟斤拷去锟斤拷锟斤拷斜锟竭★拷
Note: 锟斤拷锟斤拷选锟斤拷说锟斤拷锟斤拷 magic_quotes_gpc
锟斤拷锟斤拷选锟斤拷magic_quotes_gpc默锟斤拷值为 on锟斤拷锟洁当锟节讹拷锟斤拷锟斤拷 GET, POST, and COOKIE 锟斤拷锟斤拷使锟斤拷锟斤拷 addslashes()锟斤拷锟斤拷锟斤拷锟斤拷 stripslashes() 锟斤拷去锟斤拷锟斤拷锟角★拷
PHP 锟斤拷锟斤拷 stripslashes()锟杰癸拷锟斤拷 string锟斤拷去锟斤拷锟斤拷锟叫的凤拷斜锟竭★拷锟斤拷些锟斤拷斜锟竭筹拷锟斤拷锟斤拷锟叫匡拷锟杰碉拷原锟斤拷锟斤拷 PHP 锟斤拷锟斤拷锟斤拷 magic_quotes_gpc锟斤拷锟斤拷锟斤拷锟斤拷
Note: 锟斤拷锟斤拷选锟斤拷说锟斤拷锟斤拷 magic_quotes_gpc
锟斤拷锟斤拷选锟斤拷magic_quotes_gpc默锟斤拷值为 on锟斤拷锟洁当锟节讹拷锟斤拷锟斤拷 GET, POST, and COOKIE 锟斤拷锟斤拷使锟斤拷锟斤拷 addslashes()锟斤拷锟斤拷锟斤拷锟斤拷 stripslashes() 锟斤拷去锟斤拷锟斤拷锟角★拷
锟斤拷锟斤拷要锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷选锟斤拷锟斤拷锟斤拷谩锟斤拷锟斤拷锟斤拷锟斤拷锟绞癸拷锟斤拷锟斤拷锟経RL锟斤拷 http://example.com/foo.php?animal=cat锟斤拷锟斤拷么锟斤拷 foo.php锟斤拷锟斤拷锟角匡拷锟杰伙拷使锟斤拷锟斤拷锟铰达拷锟诫:
<?php
// 锟斤拷锟斤拷使锟斤拷锟斤拷锟街凤拷锟绞憋拷锟斤拷锟侥凤拷式
echo $_GET['animal'];
// 锟斤拷锟斤拷锟街憋拷臃锟斤拷锟�$animal锟斤拷锟斤拷锟斤拷锟斤拷要锟斤拷register_globals选锟斤拷锟斤拷锟斤拷为on
// 强锟揭斤拷锟介不要锟斤拷么锟斤拷锟斤拷锟斤拷
echo $animal;
// 锟斤拷锟窖★拷锟斤拷值锟斤拷影锟届到锟斤拷锟叫憋拷锟斤拷锟斤拷锟斤拷锟斤拷$_SERVER
// 锟斤拷锟斤拷锟角革拷选锟斤拷锟斤拷锟斤拷为off时锟斤拷锟斤拷确写锟斤拷
echo $_SERVER['PHP_SELF'];
// 同锟斤拷锟斤拷要使$PHP_SELF锟斤拷锟斤拷锟皆讹拷锟斤拷效锟斤拷register_globals选锟斤拷锟斤拷锟斤拷锟斤拷锟轿猳n
// 强锟揭斤拷锟介不要锟斤拷么锟斤拷锟斤拷锟斤拷
echo $PHP_SELF;
?>
锟斤拷锟斤拷拇锟斤拷锟斤拷锟斤拷锟斤拷register_globals锟斤拷锟斤拷锟矫o拷锟斤拷锟斤拷锟皆讹拷锟斤拷锟缴憋拷锟斤拷锟斤拷锟斤拷锟街憋拷谭锟绞斤拷锟斤拷芏锟斤拷锟斤拷锟斤拷锟较诧拷锟斤拷锟斤拷锟斤拷锟絇HP锟斤拷锟斤拷register_globals默锟斤拷锟斤拷锟斤拷为off锟斤拷锟斤拷PHP6锟斤拷锟斤拷锟窖★拷畋簧撅拷锟斤拷恕锟斤拷锟斤拷锟侥壳帮拷锟斤拷蟛糠锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟侥拷习锟絩egister_globals锟斤拷锟矫★拷锟斤拷注锟解,锟斤拷锟斤拷锟侥讹拷锟斤拷时锟斤拷锟斤拷锟铰★拷锟教筹拷时锟斤拷锟斤拷锟斤拷要锟窖革拷选锟筋开锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟绞撅拷锟斤拷锟斤拷氩伙拷锟酵拷锟斤拷锟斤拷锟斤拷锟绞碉拷士锟斤拷锟斤拷锟斤拷校锟角匡拷医锟斤拷榻拷锟斤拷锟斤拷锟轿猳ff锟斤拷锟斤拷锟斤拷锟斤拷芑岬硷拷掳锟饺拷锟斤拷狻�
锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟皆达拷锟揭伙拷锟斤拷私猓�
Note:
锟斤拷锟斤拷示锟斤拷锟叫o拷锟斤拷锟斤拷使锟斤拷锟斤拷一锟斤拷 URL锟斤拷锟斤拷锟叫帮拷锟斤拷锟斤拷一锟斤拷QUERY_STRING锟斤拷PHP锟斤拷锟絈UERY_STRING锟叫碉拷锟斤拷息通锟斤拷GET HTTP锟斤拷锟襟传递o拷锟斤拷锟斤拷锟斤拷锟角匡拷锟斤拷通锟斤拷锟斤拷锟斤拷全锟街憋拷锟斤拷锟斤拷superglobal锟斤拷 $_GET锟斤拷锟斤拷锟斤拷锟斤拷锟叫的憋拷锟斤拷锟斤拷
<?php
function myfunc($argument)
{
echo $argument + 10;
}
$variable = 10;
echo "myfunc($variable) = " . myfunc($variable);
?>
要锟斤拷一锟斤拷锟斤拷锟绞斤拷校锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫猴拷锟斤拷锟斤拷锟街凤拷锟斤拷锟斤拷锟接o拷使锟矫猴拷锟斤拷锟侥斤拷锟斤拷锟斤拷锟揭� return锟斤拷锟街碉拷锟斤拷锟斤拷锟斤拷锟� echo锟斤拷锟斤拷
<pre>
<?php echo "This should be the first line."; ?>
<?php echo "This should show up after the new line above."; ?>
</pre>
锟斤拷 PHP 锟叫o拷一锟轿达拷锟斤拷慕锟斤拷锟斤拷锟斤拷要么锟斤拷"?>"要么锟斤拷"?>\n"锟斤拷\n 锟斤拷示锟斤拷锟叫o拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫o拷锟斤拷锟斤拷木锟斤拷咏锟斤拷锟绞撅拷锟酵伙拷锟斤拷校锟斤拷锟轿� PHP 锟斤拷锟斤拷锟剿达拷锟斤拷锟斤拷锟斤拷锟角猴拷锟斤拷幕锟斤拷小锟斤拷锟斤拷锟轿讹拷锟斤拷锟斤拷要锟斤拷锟揭伙拷锟斤拷锟斤拷蟹锟斤拷锟斤拷锟揭拷锟矫匡拷锟� PHP 锟斤拷锟斤拷慕锟斤拷锟斤拷锟角猴拷锟斤拷锟斤拷一锟斤拷锟斤拷锟叫★拷
PHP 为什么锟斤拷么锟斤拷锟截o拷锟斤拷为锟节革拷式锟斤拷锟斤拷锟斤拷锟斤拷 HTML 时锟斤拷锟斤拷锟斤拷通锟斤拷锟斤拷锟斤拷锟斤拷住锟斤拷锟斤拷锟斤拷锟斤拷锟剿伙拷锟叫讹拷锟姐不锟斤拷要锟斤拷锟斤拷锟斤拷锟绞憋拷锟斤拷筒锟斤拷貌锟斤拷锟揭伙拷锟斤拷浅锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锏斤拷锟斤拷锟斤拷锟叫э拷锟斤拷锟斤拷锟斤拷锟斤拷貌锟斤拷锟斤拷锟� HTML 页锟斤拷锟皆达拷募锟斤拷母锟绞斤拷锟斤拷讯锟斤拷锟�
锟斤拷锟斤拷 header()锟斤拷 setcookie()锟斤拷 session 锟斤拷锟斤拷锟斤拷要锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷头锟斤拷息锟斤拷锟斤拷锟斤拷头锟斤拷息只锟斤拷锟斤拷锟斤拷锟斤拷锟轿猴拷锟斤拷锟斤拷锟斤拷锟街帮拷锟斤拷汀锟斤拷锟绞癸拷锟斤拷锟叫╋拷锟斤拷锟角帮拷锟斤拷锟斤拷锟斤拷魏危锟斤拷锟� HTML锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟� headers_sent()锟杰癸拷锟斤拷锟脚憋拷锟角凤拷锟窖撅拷锟斤拷锟斤拷锟斤拷头锟斤拷息锟斤拷锟斤拷锟斤拷锟� 锟斤拷锟斤拷锟斤拷坪锟斤拷锟�锟斤拷
锟斤拷锟斤拷锟� Apache 锟斤拷模锟介方式锟斤拷锟斤拷 PHP锟斤拷锟斤拷么锟斤拷锟斤拷 getallheaders()锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷隆锟斤拷锟斤拷锟斤拷锟斤拷拇锟斤拷锟斤拷锟斤拷锟斤拷示锟斤拷锟叫碉拷锟斤拷锟斤拷头锟斤拷
<?php
$headers = getallheaders();
foreach ($headers as $name => $content) {
echo "headers[$name] = $content<br />\n";
}
?>
锟斤拷锟斤拷暮锟斤拷锟� apache_lookup_uri()锟斤拷 apache_response_headers()锟斤拷 fsockopen()锟斤拷
IIS 锟侥帮拷全模锟斤拷锟斤拷锟斤拷锟斤拷毛锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 IIS 锟斤拷锟斤拷锟叫碉拷 CGI 锟斤拷锟斤拷锟斤拷锟斤拷锟叫碉拷锟斤拷锟解。一锟斤拷锟斤拷锟斤拷旆拷墙锟斤拷锟揭伙拷锟斤拷锟� HTML 锟侥硷拷锟斤拷锟斤拷锟斤拷锟斤拷 PHP 锟斤拷锟斤拷锟斤拷锟斤拷为要锟斤拷锟斤拷锟斤拷证目录锟侥碉拷录页锟芥,然锟斤拷锟斤拷 META 锟斤拷锟斤拷锟斤拷囟锟斤拷锟� PHP 页锟芥,锟斤拷锟斤拷锟斤拷一锟斤拷锟斤拷锟接碉拷 PHP 页锟芥。然锟斤拷 PHP 锟酵匡拷锟斤拷锟斤拷确识锟斤拷锟斤拷证锟斤拷息锟剿★拷锟斤拷锟斤拷锟斤拷锟� ISAPI 模锟介,锟斤拷没锟斤拷锟斤拷锟斤拷锟斤拷狻o拷锟斤拷锟� NT 锟铰碉拷 web 锟斤拷锟斤拷锟斤拷锟斤拷锟杰达拷影锟届。锟斤拷锟斤拷锟斤拷息锟斤拷 » http://support.microsoft.com/kb/q160422/锟斤拷 HTTP 锟斤拷证一锟铰★拷
锟斤拷锟斤拷要锟斤拷些锟睫改★拷锟斤拷 Internet 锟斤拷息锟斤拷锟斤拷锟斤拷锟揭碉拷锟斤拷锟� PHP 锟侥硷拷锟斤拷锟斤拷锟斤拷锟斤拷页锟斤拷选锟斤拷 锟侥硷拷锟斤拷全锟斤拷锟斤拷签锟斤拷锟斤拷锟� 锟斤拷锟斤拷锟斤拷锟绞猴拷锟斤拷锟斤拷锟街わ拷锟斤拷锟�锟斤拷"锟洁辑"锟斤拷钮锟斤拷
锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟揭伙拷遣锟揭★拷锟� 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷选锟斤拷 锟斤拷锟斤拷 Windows 锟斤拷锟斤拷锟街�锟斤拷锟斤拷锟斤拷选锟斤拷 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟洁辑锟斤拷锟斤拷锟斤拷锟斤拷使锟矫碉拷锟绞伙拷锟斤拷锟侥筹拷一锟斤拷锟斤拷权锟睫的★拷
要锟杰癸拷锟斤拷 PHP 锟斤拷锟斤拷锟斤拷直锟斤拷嵌锟斤拷 <?xml锟斤拷锟斤拷要锟斤拷 PHP 锟斤拷锟斤拷锟斤拷 short_open_tags锟斤拷锟斤拷为 0锟皆关闭短憋拷歉锟绞斤拷锟斤拷薹锟酵拷锟斤拷锟斤拷锟� ini_set()锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟矫★拷锟斤拷锟斤拷 short_open_tags锟角匡拷锟斤拷锟竭关o拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 <?php echo '<?xml'; ?>锟侥凤拷锟斤拷锟斤到目锟侥★拷锟斤拷锟斤拷锟斤拷锟矫碉拷默锟斤拷值为锟斤拷锟斤拷
锟斤拷虻サ姆锟斤拷锟斤拷锟斤拷锟� PHP 锟斤拷锟斤拷也锟斤拷使锟斤拷 ASP 锟斤拷恰锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 ASP 锟斤拷锟斤拷 <% 锟斤拷 %> 锟斤拷锟诫定锟斤拷锟斤拷锟揭恍╋拷锟斤拷械锟� HTML 锟洁辑锟斤拷锟节达拷锟斤拷烁锟绞斤拷细锟斤拷锟斤拷锟斤拷芑锟揭恍╋拷锟侥壳帮拷锟剿o拷锟斤拷要使锟斤拷 ASP 锟斤拷锟侥憋拷牵锟斤拷锟揭拷锟� php.ini 锟叫达拷 asp_tags锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷应锟斤拷 Apache 锟斤拷锟斤拷选锟筋。
锟斤拷锟侥讹拷锟街诧拷锟叫碉拷 预锟斤拷锟斤拷锟斤拷锟�一锟铰o拷锟矫诧拷锟街碉拷锟侥碉拷锟窖撅拷锟斤拷锟斤拷锟斤拷一锟斤拷锟街匡拷锟斤拷锟斤拷锟斤拷锟斤拷慕疟锟斤拷锟皆わ拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫憋拷锟斤拷锟矫憋拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫憋拷锟斤拷锟斤拷锟斤拷锟斤拷息锟斤拷锟斤拷锟斤拷通锟斤拷锟斤拷锟斤拷 phpinfo()锟斤拷锟斤拷锟斤拷锟斤拷锟侥★拷锟斤拷锟斤拷锟斤拷亩锟斤拷植锟斤拷锟� 锟斤拷锟斤拷 PHP 之锟斤拷谋锟斤拷锟�一锟节o拷锟解部锟斤拷锟侥碉拷锟斤拷锟斤拷锟斤拷锟解部锟斤拷锟斤拷锟侥革拷锟筋,锟斤拷锟斤拷锟斤拷锟斤拷 HTML 锟斤拷锟斤拷Cookie 锟斤拷 URL 锟侥憋拷锟斤拷锟斤拷
Note: register_globals 锟斤拷要说锟斤拷锟斤拷
锟斤拷 PHP 4.2.0 锟斤拷PHP 指锟斤拷 register_globals 锟斤拷默锟斤拷值为 off锟斤拷PHP 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟竭诧拷要锟斤拷锟斤拷锟节达拷指锟斤拷, 锟斤拷锟斤拷锟斤拷锟街讹拷锟斤拷锟斤拷锟斤拷锟斤拷锟�superglobals锟斤拷
锟叫硷拷锟斤拷选锟斤拷锟斤拷锟斤拷 » FPDF 锟斤拷 » TCPDF模锟介。
There is also the Haru extension that uses the free libHaru external library.
锟斤拷锟饺非筹拷锟斤拷要锟斤拷一锟斤拷锟斤拷 PHP 锟斤拷锟斤拷锟斤拷 register_globals同锟斤拷锟斤拷苑锟斤拷锟斤拷锟斤拷撕突锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟接帮拷臁o拷锟� register_globals = off 锟斤拷锟斤拷 PHP 4.2.0 锟斤拷始锟斤拷默锟斤拷值为 off锟斤拷锟斤拷锟斤拷锟斤拷 $DOCUMENT_ROOT锟斤拷锟斤拷锟斤拷锟斤拷冢锟斤拷锟街伙拷锟� $_SERVER['DOCUMENT_ROOT']锟斤拷锟斤拷锟� register_globals = on 锟斤拷锟斤拷锟� $DOCUMENT_ROOT锟斤拷 $GLOBALS['DOCUMENT_ROOT']锟斤拷同时锟斤拷锟节★拷
锟斤拷锟饺凤拷锟� register_globals = on 锟斤拷锟斤拷知锟斤拷为什么 $DOCUMENT_ROOT锟节猴拷锟斤拷锟节诧拷锟斤拷锟斤拷锟矫o拷锟斤拷锟斤拷锟斤拷为锟斤拷锟斤拷锟斤拷锟斤拷锟侥憋拷锟斤拷一锟斤拷锟斤拷要锟节猴拷锟斤拷锟斤拷执锟斤拷 global $DOCUMENT_ROOT锟斤拷锟斤拷锟斤拷锟斤拷植锟斤拷械锟� 锟斤拷锟斤拷锟斤拷围一锟节★拷锟斤拷锟斤拷锟斤拷 register_globals = off 锟斤拷锟斤拷锟斤拷陆锟斤拷斜锟斤拷搿�
Note: Superglobal 锟斤拷锟斤拷锟斤拷说锟斤拷锟斤拷
锟斤拷 PHP 4.1.0 锟斤拷锟斤拷锟绞癸拷锟� Superglobal 锟斤拷锟介,锟斤拷锟斤拷 $_GET锟斤拷$_POST锟斤拷锟斤拷 $_SERVER锟斤拷锟饺等★拷锟斤拷锟斤拷锟斤拷息锟斤拷锟侥讹拷锟街诧拷锟叫碉拷 superglobals 锟铰节★拷
锟斤拷锟矫碉拷选锟斤拷锟斤拷 K锟斤拷锟斤拷应 Kilobytes锟斤拷锟斤拷M锟斤拷锟斤拷应 Megabytes锟斤拷锟斤拷 G锟斤拷锟斤拷应 Gigabytes锟斤拷锟斤拷 PHP 5.1.0 锟斤拷锟斤拷茫锟斤拷锟斤拷锟斤拷执锟叫⌒达拷锟斤拷锟斤拷锟侥讹拷锟斤拷为锟斤拷锟街节★拷 1M锟斤拷锟斤拷一锟斤拷 Megabyte锟斤拷锟斤拷 1048576锟街节★拷 1K锟斤拷锟斤拷一锟斤拷 Kilobyte锟斤拷锟斤拷 1024锟街节★拷锟斤拷锟斤拷锟斤拷 php.ini 之锟斤拷使锟斤拷锟斤拷些锟斤拷锟脚o拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟� integer锟街斤拷值锟斤拷锟轿硷拷 ini_get()锟侥碉拷锟叫碉拷转锟斤拷示锟斤拷锟斤拷
Note: kilobyte versus kibibyte
The PHP notation describes one kilobyte as equalling 1024 bytes, whereas the IECstandard considers this to be a kibibyte instead. Summary: k and K = 1024 bytes.
Prior to PHP 5.3.4, there was a bug in the network resolving code inside PHP that caused localhostin all stream related situations to fail if IPv6 was enabled. To work around this issue you can either use "127.0.0.1"or disable IPv6 resolving in the hostsfile.