易截截图软件、单文件、免安装、纯绿色、仅160KB

PHP编程中问题集锦

1. Win32下apache2用get方法传递中文参数会出错
test.php?a=你好&b=你也好
传递参数是会导致一个内部错误
解决办法:"test.php?a=".urlencode(你好)."&b=".urlencode(你也好)
2. win32下的session不能正常工作
php.ini默认的session.save_path = /tmp 这显然是linux下的配置,win32下php无法读写session文件导致session无法使用,把它改成一个绝对路径就可以了,
例如session.save_path = c:\windows\temp
3. include和require的区别

者没有太大的区别,如果要包含的文件不存在,
include提示notice,然后继续执行下面的语句,require提示致命错误并且退出,据我测试,win32平台下它们都是先包含后执行,所以
被包含文件里最好不要再有include或require语句,这样会造成目录混乱。
4. isset()和empty()的区别

者都是测试变量用的。但是
isset()是测试变量是否被赋值,而empty()是测试一个已经被赋值的变量是否为空。如果一个变量没被赋值就引用在php里是被允许的,但会有
notice提示。如果一个变量被赋空值,$foo=""或者$foo=0或者
$foo=false,那么empty($foo)返回真,isset($foo)也返回真,就是说赋空值不会注销一个变量。
要注销一个变量,可以用 unset($foo)或者$foo=NULL。
5. mysql查询语句包含有关键字
php查询mysql的时候,有时候mysql表名或者列名会有关键字。这时候查询会有错误。例如表名是order,查询时候会出错。简单的办法是sql语句里表名或者列名加上`[tab键上面]来加以区别,
这样就不会因为误用关键字而出现错误。
例如select * from `order` 。
6. 数组非数字键名引号的必要性
PHP
会把数组中非数字键名没有引号引起来的键名当作是常量去获取, 当找不到的时候, 抛出一个NOTICE(Notice: Use of
undefined constant ......), 然后再根据”常量名”生成一个字符串,  数组中的非数字键的键名一定要有引号,
在字符串变量替换的时候, 写引号会导致错误, 虽然这种错误提示可以通过 error_reporting()进行屏蔽,但好的程序,自适应的代码是不应该通过这种方法进行伪装的。标准写法:
$array[1] = 'abc';
$array['key'] = 2;  Bad: $array[key] = 2;
$string = "variable value is {$array['key']}"
另:在非数字键名不加引号的生成OPCODE中明显多一条指令:FETCH_CONSTANT
7. 使HTML/PHP格式的字符串如何照原样显示
如:
<


相关文档:

PHP 删除某个目录下N天前的所有文件

<?php
function delfile($dir,$n) //删除DIR路径下N天前创建的所有文件;
{
if(is_dir($dir))
{
if($dh=opendir($dir))
{
while (false !== ($file = readdir($dh)))
{
if($file!="." && $file!="..")
{
$fullpath=$dir."/".$file;
if(!is_dir($fullpath)) ......

php初学者

我也是一ASP转PHP的初学者,我这里有一好的网站拿来与大家一起分享,希望大家会喜欢!
http://www.w3school.com.cn/
也还有一些好的视频也拿来与大家一起分享!
http://hi.baidu.com/ylinuxs/blog/item/4433d3354a58fed1a2cc2b26.html ......

Redhat下 Apache, php, mysql的默认安装路径

apache:
如果采用RPM包安装,安装路径应在 /etc/httpd目录下
apache配置文件:/etc/httpd/conf/httpd.conf
Apache模块路径:/usr/sbin/apachectl
web目录:/var/www/html
如果采用源代码安装,一般默认安装在/usr/local/apache2目录下
php:
如果采用RPM包安装,安装路径应在 /etc/目录下
php的配置文件:/etc/php.ini ......

php中使用header函数的http头设置

/ ok
header('HTTP/1.1 200 OK');
//设置一个404头:
header('HTTP/1.1 404 Not Found');
//设置地址被永久的重定向
header('HTTP/1.1 301 Moved Permanently');
//转到一个新地址
header('Location: http://www.example.org/'
);
//文件延迟转向:
header('Refresh: 10; url=http://www.example.org/');
print 'Y ......

PHP写的MD5破解与加密程序

程序代码
<!--p
  if(isset($_POST['md5'])){ //判断$md5是否已设置,如果设置了则执行以下代码。
  if(!is_numeric($_POST['time'])){ //如果没获取到time的值则将time的值设置为30
    $_POST['time'] = 30;
      }
    set_time_limit($_P ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号