`
haohappy2
  • 浏览: 326344 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

PHP 有用函数的使用

阅读更多

1.使用 Glob() 查找文件

很多PHP的函数都有一个比较长的自解释的函数名,但是,当你看到?glob() 的时候,你可能并不知道这个函数是用来干什么的,除非你对它已经很熟悉了。

你可以认为这个函数就好?scandir() 一样,其可以用来查找文件。

// 取得所有的后缀为PHP的文件
$files = glob('*.php');

print_r($files);
/* 输出:
Array
(
    [0] => phptest.php
    [1] => pi.php
    [2] => post_output.php
    [3] => test.php
)
*/

你还可以查找多种后缀名

// 取PHP文件和TXT文件
$files = glob('*.{php,txt}', GLOB_BRACE);

print_r($files);
/* 输出:
Array
(
    [0] => phptest.php
    [1] => pi.php
    [2] => post_output.php
    [3] => test.php
    [4] => log.txt
    [5] => test.txt
)
*/

你还可以加上路径:

$files = glob('../images/a*.jpg');

print_r($files);
/* 输出:
Array
(
    [0] => ../images/apple.jpg
    [1] => ../images/art.jpg
)
*/

如果你想得到绝对路径,你可以调用?realpath() 函数:

$files = glob('../images/a*.jpg');

// applies the function to each array element
$files = array_map('realpath',$files);

print_r($files);
/* output looks like:
Array
(
    [0] => C:\wamp\www\images\apple.jpg
    [1] => C:\wamp\www\images\art.jpg
)
*/

 

2. 系统常量

PHP 提供非常有用的系统常量 可以让你得到当前的行号 (__LINE__),文件 (__FILE__),目录 (__DIR__),函数名 (__FUNCTION__),类名(__CLASS__),方法名(__METHOD__) 和名字空间 (__NAMESPACE__),很像C语言。

我们可以以为这些东西主要是用于调试,当也不一定,比如我们可以在include其它文件的时候使用?__FILE__ (当然,你也可以在 PHP 5.3以后使用 __DIR__ ),下面是一个例子。

// this is relative to the loaded script's path
// it may cause problems when running scripts from different directories
require_once('config/database.php');

// this is always relative to this file's path
// no matter where it was included from
require_once(dirname(__FILE__) . '/config/database.php');

下面是使用 __LINE__ 来输出一些debug的信息,这样有助于你调试程序:

// some code
// ...
my_debug("some debug message", __LINE__);
/* 输出
Line 4: some debug message
*/

// some more code
// ...
my_debug("another debug message", __LINE__);
/* 输出
Line 11: another debug message
*/

function my_debug($msg, $line) {
	echo "Line $line: $msg\n";
}
3.生成唯一的ID

有很多人使用 md5() 来生成一个唯一的ID,如下所示:

// generate unique string
echo md5(time() . mt_rand(1,1000000));

其实,PHP中有一个叫?uniqid() 的函数是专门用来干这个的:

// generate unique string
echo uniqid();
/* 输出
4bd67c947233e
*/

// generate another unique string
echo uniqid();
/* 输出
4bd67c9472340
*/

可能你会注意到生成出来的ID前几位是一样的,这是因为生成器依赖于系统的时间,这其实是一个非常不错的功能,因为你是很容易为你的这些ID排序的。这点MD5是做不到的。

你还可以加上前缀避免重名:

// 前缀
echo uniqid('foo_');
/* 输出
foo_4bd67d6cd8b8f
*/

// 有更多的熵
echo uniqid('',true);
/* 输出
4bd67d6cd8b926.12135106
*/

// 都有
echo uniqid('bar_',true);
/* 输出
bar_4bd67da367b650.43684647
*/

而且,生成出来的ID会比MD5生成的要短,这会让你节省很多空间。

4. 字符串压缩

当我们说到压缩,我们可能会想到文件压缩,其实,字符串也是可以压缩的。PHP提供了?gzcompress()gzuncompress() 函数:

$string =
"Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Nunc ut elit id mi ultricies
adipiscing. Nulla facilisi. Praesent pulvinar,
sapien vel feugiat vestibulum, nulla dui pretium orci,
non ultricies elit lacus quis ante. Lorem ipsum dolor
sit amet, consectetur adipiscing elit. Aliquam
pretium ullamcorper urna quis iaculis. Etiam ac massa
sed turpis tempor luctus. Curabitur sed nibh eu elit
mollis congue. Praesent ipsum diam, consectetur vitae
ornare a, aliquam a nunc. In id magna pellentesque
tellus posuere adipiscing. Sed non mi metus, at lacinia
augue. Sed magna nisi, ornare in mollis in, mollis
sed nunc. Etiam at justo in leo congue mollis.
Nullam in neque eget metus hendrerit scelerisque
eu non enim. Ut malesuada lacus eu nulla bibendum
id euismod urna sodales. ";

$compressed = gzcompress($string);

echo "Original size: ". strlen($string)."\n";
/* 输出原始大小
Original size: 800
*/

echo "Compressed size: ". strlen($compressed)."\n";
/* 输出压缩后的大小
Compressed size: 418
*/

// 解压缩
$original = gzuncompress($compressed);

几乎有50% 压缩比率。同时,你还可以使用?gzencode()gzdecode() 函数来压缩,只不用其用了不同的压缩算法。

分享到:
评论

相关推荐

    学习PHP收集的几个有用函数

    - 使用了已弃用的`mysql_*`函数,建议使用`mysqli_*`或`PDO`。 - 注意SQL注入风险。 ### 5. 目录删除:`del_DIR` 函数 此函数用于递归地删除指定目录及其所有子目录和文件。 **函数定义**: ```php function del_...

    PHP 时间函数应用

    本篇将深入探讨PHP时间函数的使用方法和常见应用场景。 首先,PHP中最基础的时间函数是`time()`,它返回自 Unix 纪元(1970年1月1日 00:00:00 UTC)以来的秒数,即一个时间戳。这个函数可以用于记录程序运行时的...

    php变量缓存到文件的函数

    php变量缓存到文件的函数 SAVE函数有用哦。php变量缓存到文件的函数 SAVE函数有用哦。php变量缓存到文件的函数 SAVE函数有用哦。php变量缓存到文件的函数 SAVE函数有用哦。php变量缓存到文件的函数 SAVE函数有用哦。...

    非常实用的PHP函数大全

    在PHP编程语言中,函数是实现特定功能的代码块,可以重复使用,极大地提高了开发效率。"非常实用的PHP函数大全"这个资源包含了多个常用且功能丰富的PHP函数,旨在帮助开发者快速查找和理解这些函数的用途。下面将...

    PHP函数大全.pdf

    PHP 函数大全 PHP 函数大全是 PHP 编程语言中提供的一系列函数,用于帮助开发者快速完成各种任务。...这些函数只是 PHP 函数大全中的一部分, PHP 提供了许多其他有用的函数,以帮助开发者快速完成各种任务。

    php+mysql常用函数

    最后,`sql_regcase()`函数是一个不太常见的函数,它创建一个根据字符大小写转换的字符串,这对于SQL查询中的大小写不敏感匹配非常有用,尤其是在数据库中执行搜索操作时。 以上就是PHP中的一些常用函数,它们涵盖...

    PHP函数.doc

    PHP函数是PHP编程中不可或缺的一部分,它们提供了丰富的功能,帮助开发者执行各种任务。以下是一些在描述中提及的PHP函数的详细说明: 1. `usleep()`:此函数用于延迟代码执行,参数是以微秒为单位的时间。例如,`...

    PHP函数执行超时控制扩展ForPHP7控制PHP函数的执行时间

    为了解决这个问题,我们可以使用特定的扩展来控制函数的执行时间,比如"PHP函数执行超时控制扩展 (For PHP7)"。这个扩展允许我们在毫秒级别上设置超时控制,以确保单个函数不会无限制地运行,从而避免阻塞其他任务。...

    收集的javascript 和php 有用的小函数库

    本资源"收集的javascript 和php 有用的小函数库"就是一个实用的资源包,包含了一些开发者自定义的、适用于日常开发的JavaScript和PHP函数。这些小函数库通常是为了解决特定问题或简化常见任务而创建的,具有高度可...

    常用PHP5函数小全

    ### 常用PHP5函数小全 在PHP开发中,掌握一些常用函数可以极大地提高工作效率,优化程序性能。本文将详细介绍《常用PHP5函数小全》中的几个关键函数及其应用,帮助开发者更好地理解和运用这些函数。 #### 1. ...

    php常用函数手册 非常不错

    这些函数在数学和科学计算中广泛使用。 ### 14. `Getrandmax()` `getrandmax()`函数返回随机数生成器能够产生的最大值。这对于理解随机数范围以及调整随机数生成算法很有帮助。 以上就是从给定文件标题和描述中...

    php数组函数分类

    此外还有一些不属于上述分类但非常有用的函数。 - **array_reduce()**: 对数组中的值迭代地应用一个回调函数,最终返回一个单一的结果。 - **extract()**: 将数组中的键名作为变量名,值作为变量值导入到当前作用域...

    PHP常用内置函数(常用)

    `split()`函数使用正则表达式`$pattern`来分割字符串`$string`,并返回一个包含分割后各个部分的数组。 **返回值**: 返回一个数组,包含分割后的字符串片段。 #### 数学函数 除了I/O和正则表达式相关的函数外,...

    经典代码:php调用函数.txt

    `dl()`函数为PHP提供了一种灵活的方式来动态加载扩展模块,这对于处理跨平台问题和开发环境的快速调整特别有用。然而,使用时也需要考虑到潜在的安全性和性能影响。希望本文能够帮助您更好地理解和应用`dl()`函数,...

    一些使用频率较高的非常实用的PHP函数

    根据给定的信息,本文将详细解释六个常用的PHP函数,这些函数在实际开发中具有极高的实用性及使用频率。 ### 1. `random` — 生成随机字符串 此函数用于生成指定长度的随机字符串,通常应用于密码生成、验证码或...

    php函数php学习

    然而,`split`函数也已在PHP 7中被弃用,现在推荐使用`explode`。 最后,`sql_regcase`函数用于创建一个新的字符串数组,其中每个字符都保持原始字符的大小写。这个函数在处理SQL查询时特别有用,因为SQL通常对大小...

    PHP函数大全(TXT版)

    ### PHP函数大全(TXT版)知识点详解 #### Apache Functions **1. `apache_lookup_uri`** - **定义与用途**:此函数用于查找并获取指定的URI信息。 - **函数原型**: ```php class apache_lookup_uri(string $...

    php解压缩函数

    这些函数使得开发者能够方便地读取、提取和操作压缩文件中的内容,这对于数据传输、备份或者存储大量文件时非常有用。下面将详细讨论PHP中的解压缩功能。 一、`ZipArchive` 类 PHP 提供了 `ZipArchive` 类,专门...

    脑动力:PHP函数速查效率手册 源文件

    PHP的`date`、`strtotime`、`DateTime`类等用于处理时间和日期,这对于任何需要处理时间相关的应用都非常有用。 9. JSON和XML处理: PHP提供了`json_encode`和`json_decode`处理JSON数据,以及`simplexml_load_...

    PHP中如何判断exec函数执行成功?

    在PHP编程中,`exec`函数是一个非常有用的工具,它允许开发者执行系统级别的命令,并获取命令的输出。在处理复杂的任务或与操作系统交互时,如自动化脚本、部署流程或数据处理,`exec`功能尤为关键。然而,有时我们...

Global site tag (gtag.js) - Google Analytics