遍历文件夹下的所有文件和子文件夹:
<?php function my_dir($dir){ $files =array(); if($hand = opendir($dir)){ while(($file = readdir($hand)) != false){ if($file != ".." && $file != '.'){ if(is_dir($dir ."/" .$file)){ $files[$file] = my_dir($dir ."/" .$file); }else{ $files[] = $file; } } } closedir($hand); return $files; } } ?>
获取一个指定网页中的内容:
file_get_contents($path);
网站图片打水印:
1 /* 2 imagefttext:向图像中编写文字 3 imagecreatefromjpeg:引入一张图像 4 */ 5 6 <?php 7 header("Content-Type:image/jpeg"); 8 $image = imagecreatefromjpeg("abc.jpeg"); 9 $imagecolor = imagecolorallocate($image,250,40,50); 10 11 $text = "水印文字"; 12 13 $font = "STCAIYUN.TTF"; 14 15 imagefttext($image,20,5,50,100,$imagecolor,$font,$text); 16 17 imagejpeg($image); 18 ?>
更改Session存储目录:
1 <?php 2 header("Content-Type:text/heml;charset=utf-8"); 3 4 if(!is_dir("sessioon")) 5 mkdir("session"); 6 7 $stringdir = realpath("session"); 8 9 session_save_path($stringdir); 10 11 session_start(); 12 ?>
网站需要上传超大文件对php.ini做的更改:
1 file_uploads = ON //服务器支持文件上传 2 3 upload_tmp_dir //上传文件临时目录 4 5 upload_max_filesize //服务器允许上传文件的最大值 6 7 max_execution_time //一个指令所能执行的最大时间,单位是s 8 9 memory_limit //一个指令所分配的内容控件,单位是M 10 11 /* 12 在客户端对文件上传控制: 13 */ 14 15 enctype = "multipart/form-data" // 指定表单编码数据方式 16 method = "post" //指定数据的传输方式 17 <input type="hidden" name="MAX_FILE_SIZE" value="1000" /> 18 //该值不能超过php.ini配置文件中upload_max_filesize选项设置的值
解决网站中输出的系统当前时间与本地的当前时间不符问题:
PHP默认采用的是标准的格林尼治时间(零时区).
1. 在php.ini中设置data.timezone = PRC、Asia/Hong_Kong、Asia/Shanghai或者Asia/Urumqi等。
这些都是东八区时间。
2. 在应用程序中,在日期、时间函数之前使用date_default_timezone_set()函数设置完成市区的设置
php.ini中display_error:
控制脚本执行期间出现的错误/警告信息是否显示给用户。
将所有的错误信息保存到日志文件中:
设置display_errors = Off
设置log_errors = ON
根据需要更改文件大小log_errors_max_len = 1024
设置error_log = <filename> 日志文件的位置和文件名称
通过error_log()函数将信息保存到指定的文件中
php5中的魔术方法:
__sleep:在serialize()序列化对象之前调用这个函数
__wakeUP:在unserialize()解序列化之前调用这个函数
__toString:当将对象转化为字符串的时候调用这个函数
__construct:构造函数,当实例化一个对象的时候调用
__destruct:析构函数,当对象实例被释放的时候调用
__call:当调用类中没有的方法时调用此函数
__get:当访问一个类中没有的属性时调用
__set:当设置一个类中没有的属性的值时调用
__isset:当调用外部的isset函数检查类是否有某个属性时调用
__unset:当删除类的某个属性时调用
__set_state:当使用var_export导出对象的属性和值时调用
__clone:当复制某个类的实例时调用
__autoload:当使用一个类而这个类还未被加载时回去被自定调用