���ڻ㼯������д 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() ��ȥ�����ǡ�
����Ҫ����������ѡ������á���������ʹ������URL�� 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ѡ���������Ϊon
// ǿ�ҽ��鲻Ҫ��ô������
echo $PHP_SELF;
?>
����Ĵ��������register_globals�����ã������Զ����ɱ��������ֱ�̷�ʽ���ܶ�������ϲ��������PHP����register_globalsĬ������Ϊoff����PHP6�����ѡ�ɾ���ˡ�����Ŀǰ��������������Ĭ�ϰ�register_globals���á���ע�⣬�����Ķ���ʱ�����¡��̳�ʱ������Ҫ�Ѹ�ѡ������������ʾ�����벻��ͨ��������ʵ�ʿ������У�ǿ�ҽ��齫������Ϊoff��������ܻᵼ�°�ȫ���⡣
�����������Դ��һ���˽⣺
Note:
����ʾ���У�����ʹ����һ�� URL�����а�����һ��QUERY_STRING��PHP���QUERY_STRING�е���Ϣͨ��GET HTTP���ݣ��������ǿ���ͨ������ȫ�ֱ�����superglobal�� $_GET���������еı�����
<?php
function myfunc($argument)
{
echo $argument + 10;
}
$variable = 10;
echo "myfunc($variable) = " . myfunc($variable);
?>
Ҫ��һ�����ʽ�У�����������������к������ַ������ӣ�ʹ�ú����Ľ������Ҫ return���ֵ�������� echo����
<pre>
<?php echo "This should be the first line."; ?>
<?php echo "This should show up after the new line above."; ?>
</pre>
�� PHP �У�һ�δ���Ľ������Ҫô��"?>"Ҫô��"?>\n"��\n ��ʾ���У������������������У�����ľ��ӽ���ʾ��ͬһ���У���Ϊ PHP �����˴��������Ǻ���Ļ��С�����ζ�����Ҫ���һ�����з�����Ҫ��ÿ�� PHP ����Ľ�����Ǻ�����һ�����С�
PHP Ϊʲô��ô���أ���Ϊ�ڸ�ʽ�������� HTML ʱ������ͨ��������ס���������˻��ж��㲻��Ҫ�������ʱ���Ͳ��ò���һ���dz����������ﵽ������Ч���������ò����� 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 ģ�飬��û��������⡣���� NT �µ� web ���������ܴ�Ӱ�졣������Ϣ�� » http://support.microsoft.com/kb/q160422/�� HTTP ��֤һ�¡�
����Ҫ��Щ�ġ��� Internet ��Ϣ�������ҵ���� PHP �ļ���������ҳ��ѡ�� �ļ���ȫ����ǩ����� �������ʺ������֤������"�༭"��ť��
���������������������һ�Dz�Ҫѡ�� ������������ѡ�� ���� Windows �����֤������ѡ�� �����������༭��������ʹ�õ��ʻ����ij�һ����Ȩ�ġ�
Ҫ�ܹ��� PHP ������ֱ��Ƕ�� <?xml����Ҫ�� PHP ������ short_open_tags����Ϊ 0�Թرն̱�Ǹ�ʽ����ͨ������ ini_set()�������������á����� short_open_tags�ǿ����߹أ��������������� <?php echo '<?xml'; ?>�ķ����ﵽĿ�ġ��������õ�Ĭ��ֵΪ����
��ķ������� PHP ����Ҳ��ʹ�� ASP ��ǡ������������ ASP ���� <% �� %> ���붨�����һЩ���е� HTML �༭���ڴ���˸�ʽ�ϸ������ܻ�һЩ��Ŀǰ��ˣ���Ҫʹ�� ASP ���ı�ǣ���Ҫ�� php.ini �д� asp_tags����������Ӧ�� Apache ����ѡ�
���Ķ��ֲ��е� Ԥ�������һ�£��ò��ֵ��ĵ��Ѿ�������һ���ֿ���������Ľű���Ԥ����������б����ñ����������б���������Ϣ������ͨ������ phpinfo()���������ġ�������Ķ��ֲ��� ���� PHP ֮��ı���һ�ڣ��ⲿ���ĵ��������ⲿ�����ĸ���������� 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.
���ȷdz���Ҫ��һ���� PHP ������ register_globalsͬ����Է������˺ͻ�����������Ӱ�졣�� 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�ں����ڲ������ã�������Ϊ���������ı���һ����Ҫ�ں�����ִ�� 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 ֮��ʹ����Щ���ţ������������ 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.