当前位置:首页> PHP教程> PHP入门
关键字
文章内容
几个PHP小函数
 
 
修改时间:[2011/06/09 19:06]    阅读次数:[994]    发表者:[起缘]
 
===> 一个生成随机字符串的函数
可以控制字符串内容是什么,$len参数为生成的随即字符串长度,$array数组里面改成自己需要的内容就可以.可以使用汉字...
这只是一个方法,随即字串产生的方法多种多样,比如可以md5当前microtime(),然后截取你想要的长度...
CODE
  1. <?php
  2. // By Bleakwind
  3. function str_rand($len)
  4. {
  5.   $str   = "";
  6.   $array = array("a","b","c","d","e","f","g","h","i","j","k","l","m",
  7.                  "n","o","p","q","r","s","t","u","v","w","x","y","z",
  8.                  "0","1","2","3","4","5","6","7","8","9");
  9.   $key   = array_rand($array,$len);
  10.   for($i=0;$i<$len;$i++){
  11.       $str .= $array[$key[$i]];
  12.   }
  13.   return $str;
  14. }
  15. // Use it
  16. echo str_rand(6);
  17. ?>


===> 如何截取文件扩展名
如上传文件的扩展名等,此扩展名可能是伪造的.想判断文件类型请用mime_content_type()...
CODE
  1. <?php
  2. // 第一种
  3. $extendname = array_pop(explode ( ".",$filename));
  4. // 第二种
  5. $extendname = end(explode(".", $filename));
  6. // 第三种
  7. $file_part  = pathinfo($filename);
  8. $extendname = $file_part["extension"];
  9. ?>
===> 一个缓冲输出显示的例子
1.有些Apache的模块,比如mod_gzip,可能自己进行输出缓存,这将导致flush()函数产生的结果不会立即被发送到客户端浏览器。
2.甚至浏览器也会在显示之前,缓存接收到的内容。例如 Netscape 浏览器会在接受到换
行或 html 标记的开头之前缓存内容,并且在接受到 </table> 标记之前,不会显示出整个表格。
CODE
  1. <?php
  2. set_time_limit(0);
  3. ob_start();
  4. // 一些版本的 Microsoft Internet Explorer 只有当接受到的256个字节以后才开始显示该页面,
  5. // 所以必须发送一些额外的空格来让这些浏览器显示页面内容。
  6. echo str_pad('Loading... ',4096)."<br>\n";
  7.  
  8. for ($i = 0; $i < 30; $i++) {
  9.   echo "=";
  10.   flush();
  11.   ob_flush();
  12.   sleep(1);
  13. }
  14. ob_end_flush();
  15. ?>

 

===> 读取配置文件的几个例子
对配置文件的读取,就像一些应用程序的.INI配置文件一样,具体内容查看手册中的函数:

1.

CODE
  1. <?php
  2. define ('BIRD', 'Dodo bird');
  3. // Parse without sections
  4. $ini_array = parse_ini_file("sample.ini");
  5. print_r($ini_array);
  6. // Parse with sections
  7. $ini_array = parse_ini_file("sample.ini", TRUE);
  8. print_r($ini_array);
  9. // sample.ini
  10. /*
  11. ; This is a sample configuration file
  12. ; Comments start with ';', as in php.ini
  13.  
  14. [first_section]
  15. one = 1
  16. five = 5
  17. animal = BIRD
  18.  
  19. [second_section]
  20. path = /usr/local/bin
  21. URL = "http://www.example.com/~username"
  22. */
  23. ?>


2.
CODE
  1. <?php
  2. $handle = fopen ("users.txt","r");
  3. while ($userinfo = fscanf ($handle, "%s\t%s\t%s\n")) {
  4.   list ($name, $profession, $countrycode) = $userinfo;
  5.   //... do something with the values
  6. }
  7. fclose($handle);
  8. // users.txt
  9. /*
  10. javier  argonaut        pe
  11. hiroshi sculptor        jp
  12. robert  slacker us
  13. luigi   florist it
  14. */
  15. ?>

 
 
 
下一页:curl_setopt