PHP的扩展函数库十分庞大,官方的非官方的,在这里只记录一些目前比较常用的扩展,对于这一部分,也只是记录其中一些核心的函数,不是一个全面记录。对于详细的扩展函数说明,需要在使用中参考PHP的用户手册。

    1 目录操作
     dir()  返回一个目录对象
     read()  遍历目录对象中的条目

  1. <?php
  2. $d=dir("./");
  3.  
  4. while($item=$d->read())
  5. {
  6. echo $item;
  7. echo "\n";
  8. }
  9.  
  10. $d->rewind();
  11. $d->close();
  12. ?>

  2 文件系统操作
    
    
dirname()        返回路径中的目录名部分
    basename()   返回路径中文件名部分
    chown chgrp  chmod  与同名的linux系统调用类似
    mkdir  mkdir copy rename delete unlink tmpname touch tmpfile umask与同名的linux系统调用类似
    disk_free_space()   disk_total_space()
    fopen  fread fwrite feof fflush fclose fseek ftell rewind等与同名C标准库函数功能类似
    file_exists() 检查文件与目录是否存在
    file()  将整个文件读入数组,每个下标对应文件的一行
    file_get_contents()  将整个文件读入到一个字符串,支持从文件的特定位置开始读取若干字符
    file_put_contents($file,$data)    将字符串数据写入到指定文件
    readfile()  readlink  将file或link内容直接输出
    fileatime filemtime filectime 取得文件的上次访问/修改/inode修改时间
    fileowner  filegroup  返回文件所有者及组的号
    filesize   filetype  fileperms  取得文件的大小、类型、权限
    fputcsv fgetcsv 从文件中读取csv格式的数据或将csv格式数据写入文件
    fstat  ftruncate   获取指针对应文件的stat信息/截断到给定的长度
    stat  根据文件名获取文件的stat信息
    is_dir  is_file is_link  is_executable is_readable is_writeable  is_uploaded_file  判断文件的属性
    move_uploaded_file  
    parse_ini_file  parse_ini_string   解析ini文件及字符串,返回一个关联数据,可以通过名称访问相关配置项
    pathinfo  返回关联数组,包含了dirname,basename,extname ,filename
    popen  pclose 打开/关闭指向进程的管道文件
    realpath()  返回绝对路径

  feof()   函数检测是否已到达文件末尾 (eof)

    3 进程控制
    3.1 POSIX扩展

    posix_access($file,$mode)  查看文件的访问权限,可以由is_readable等几个函数代替
    posix_errno()  返回posix函数执行的上个错误
    posix_getcwd() 返回当前目录,与getcwd()相同
    posix_getgid()  geteuid()  getgid() getegied() getgroup()  getpgid()  getpgrp() getpid()  getsid等与同名linux系统调用类似
    posix_getlogin() 获取登录名称
    posix_getpwnam() 获取用户的详情
    posix_getrlimit()  获取资源限制
    posix_kill()  posix_times() 
    3.2 程序执行函数
     string exec($cmd, array &$output, int &$return_var)             执行外部程序,并返回输出的最后一行
     string shell_exec($cmd)   与`cmd` 功能一样,将返回程序的所有输出
     string  system()  执行命令,并显示输出,返回值为输出的最后一行
     escapeshellarg()    转义字符串以作为shell参数
     escapeshellcmd()  转义字符以作为shell命令
     proc_open()    执行程序,并打开一个管道用于读写相应的输入和输出
     proc_nice()      调整程序的优先级
     proc_close()    关闭打开的程序
     proc_terminate()    终止打开的程序

3.3 信号量、IPC与共享内存

resource sem_get(int $key, [int $max_acquire=1[,int $perm=0666[,int $auto_release=1]]]) 返回一个SYSTEM V的信号量,首次调用时会创建,随后的各次调用会返回不同的标识符,但均访问同一个信号量。
    bool sem_remove(resource $handler)   从系统中移除指定的信号量,之后将不可再访问
    bool sem_acquire($handler)  在获得信号量之前一直阻塞
    bool sem_release($handler)  释放之前获得的信号量

resource msg_get_queue(int $key[,int $perms = 0666])  按key返回一个SYSTEM V的消息队列。首次调用时会创建,随后的各次调用会返回不同的标识符,但均访问同一个消息队列。
    boo msg_remove_queue($handler)  移除系统的消息队列,之后进程将不可再访问
    bool msg_send($queue, int $msg_type,$msg[,bool $serialize=true[. bool $blocking=true [, int &$errcode]]] )  向消息存入一个消息
    msg_recvive($queue, int $expect_type, &$msgtype, $maxsize, &$msg [, bool $unserialize=true [, $flag = 0 [,&$errcode ]]] )  从消息队列取出一个消息
    array msg_stat_queue($handler)   查看消息队列上的相关属性
    bool  msg_set_queue()  设置消息上的相关属性

resource shm_attach($key,$perms)  按key返回一个SYSTEM V的共享内存。首次调用时会创建,随后的各次调用会返回不同的标识符,但均访问同一个消息队列。
    bool  shm_remove($handler)   从系统中移除共享内存对象
    bool  shm_detach($handler)    与共享内存对象断开,但系统中仍存在相关对象
    bool  shm_put_var($hanlder ,$key, $val)  向共享内存设置数据
    mixed  shm_get_var($handler ,$key)   从共享内存取数据
    bool shm_remove_var($handler, $key)   从共享内存移除数据

   4 网络扩展
    4.1 URL扩展

    string base64_decode($str)        返回原串
    string base64_encode($str)        返回编码串
    array  get_headers($url,$b_hash)    返回指定URL服务器的响应头,若$b_hash为真,则返回关联数组
    string http_build_query(array $data)   将hash数组数据编码为http之后的请求字符串
    string rawurlencode($str)    根据RFC1738对URL进行编码
    string rawurldecode($str)    对URL进行解码

  1. <?php
  2. $data = array('foo'=>'bar',
  3. 'baz'=>'boom',
  4. 'cow'=>'milk',
  5. 'php'=>'hypertext processor');
  6.  
  7. echo http_build_query($data); // foo=bar&baz=boom&cow=milk&php=hypertext+processor
  8.  
  9. $url = 'http://username:password@hostname/path?arg=value#anchor';
  10.  
  11. print_r(get_headers($url));
  12. /*
  13. Array
  14. (
  15. [scheme] => http
  16. [host] => hostname
  17. [user] => username
  18. [pass] => password
  19. [path] => /path
  20. [query] => arg=value
  21. [fragment] => anchor
  22. )
  23. */

    4.2 socket扩展

resource socket_create($domain,$type,$protocol)  返回一个套接字描述符   
    socket_bind($sock,$ip,$port)    设定绑定
    socket_listen($socket,$backlog)    监听端口
    resource socket_accept($sock)    
    resource socket_connect($sock,$ip,$port)    连接远程地址与端口
    string socket_read($sock,$length)   从套接字上读取数据 
    int socket_write($sock,$str,$len)      从套接字上写数据
    int socket_recv/send($sock,$&buf,$len,$flag)      从套接字上接收与发送数据
    socket_recvfrom/sendto($sock,$&buf,$len,$flag,$&ip,$&port)   
    socket_get/set_option($sock,$level,$optname,[$optname])  设置套接字选项
    socket_set_nonblock($sock)    设置为非阻塞
    socket_getpeer/sockname($sock,$&ip,$&port)
    socket_strerror($errno)
    socket_clear_error($sock)
    
    4.3 网络工具
    array dns_get_record($hostname,$type,$&auth_ns,$&additional )   获取对应类型的主机名的DNS记录,可返回认证NS及附加信息  
    bool dns_check_record($name,$type)/checkdnsrr    type有MX,A,ANY,AAAA,ALL,若找到对应记录则返回T,否则为F
    dns_get_mx /getmxrr($host,array$& mxlist)  获取对应主机的MX记录
    resource fsockopen($ip,$port)    返回一个网络连接,相当于运行了socket_create和socket_connect
    string gethostbyaddr($ip)  gethostbyname1($host)  返回对应的域名或地址,若使用带1的函数,则返回一个地址数组
    getprotobyname/number()    
    getservbyname()/getservbyport() 
    string inet_ntop($in_addr)   
    string inet_pton($ip)
    long2ip()/ip2long()
    setsookie/setrawcookie($name,$val,$expier,$domain,)
    socket_get_status()
    socket_set_timeout()

 
 

原文链接:http://blog.csdn.net/zzulp/article/details/7749866

官网链接:http://php.net/manual/zh/refs.fileprocess.process.php

转载:PHP扩展函数库-文件系统、进程与网络的更多相关文章

  1. Linux内核分析(四)----进程管理|网络子系统|虚拟文件系统|驱动简介

    原文:Linux内核分析(四)----进程管理|网络子系统|虚拟文件系统|驱动简介 Linux内核分析(四) 两天没有更新了,上次博文我们分析了linux的内存管理子系统,本来我不想对接下来的进程管理 ...

  2. rootkit——一种特殊的恶意软件,它的功能是在安装目标上隐藏自身及指定的文件、进程和网络链接等信息,一般都和木马、后门等其他恶意程序结合使用

    Rootkit是指其主要功能为隐藏其他程式进程的软件,可能是一个或一个以上的软件组合:广义而言,Rootkit也可视为一项技术.   目录 1 rootkit是什么 2 rootkit的功能 root ...

  3. C/C++ 用libcurl库进行http通讯网络编程

    C/C++ 用libcurl库进行http通讯网络编程 目录索引: 一.LibCurl基本编程框架 二.一些基本的函数 三.curl_easy_setopt函数部分选项介绍 四.curl_easy_p ...

  4. C++ 用libcurl库进行http通讯网络编程 【转】

    http://www.cnblogs.com/moodlxs/archive/2012/10/15/2724318.html C++ 用libcurl库进行http通讯网络编程 目录索引: 一.Lib ...

  5. [转载]文件过滤驱动 文件系统激活通知 IoRegisterFsRegistrationChange函数实现

    IoRegisterFsRegistrationChange 注册一个文件系统变动回调函数,用来被通知文件系统的激活和注销,激活是指第一次加载文件系统,当一个文件系统已经加载后,当加载一个同种文件系统 ...

  6. Wireshark 查看指定进程的网络包

    Wireshark 查看指定进程的网络包 打开任务管理器,右键筛选列,选中PID(进程标识符): 找到该进程对应的PID,如1200: 在cmd中执行netstat -ano|findstr 1200 ...

  7. [转载] python利用psutil遍历进程名字和exe所在目录

    本文转载自: http://www.duanzhihe.com/1594.html http://www.jianshu.com/p/64e265f663f6 import psutil,os,tim ...

  8. 7.Python3标准库--文件系统

    ''' Python的标准库中包含大量工具,可以处理文件系统中的文件,构造和解析文件名,还可以检查文件内容. 处理文件的第一步是要确定处理的文件的名字.Python将文件名表示为简单的字符串,另外还提 ...

  9. 【转载】Hadoop分布式文件系统HDFS的工作原理详述

    转载请注明来自36大数据(36dsj.com):36大数据 » Hadoop分布式文件系统HDFS的工作原理详述 转注:读了这篇文章以后,觉得内容比较易懂,所以分享过来支持一下. Hadoop分布式文 ...

随机推荐

  1. Swift 条件语句

    条件语句通过设定的一个或多个条件来执行程序,在条件为真时执行指定的语句,在条件为 false 时执行另外指定的语句. 可以通过下图来简单了解条件语句的执行过程: Swift 提供了以下几种类型的条件语 ...

  2. unittest-每个模块用例一条一条跑,模块都合在一个表格里面统计的方法

    文件目录 文件里面的结构就是常规的 unittest框架的写法 总执行文件 # #coding=utf-8 import unittest, time, os, multiprocessingimpo ...

  3. [转]c3p0学习-JdbcUtil工具类

    原文:https://www.cnblogs.com/jonny-xu/p/6374163.html 一.需要jar包: c3p0-0.9.1.2.jar mysql-connector-java-5 ...

  4. Jmeter 逻辑控制器 之 Runtime Controller

    一.认识 Runtime Controller  控制其下样例执行的时间长度. 设置界面:  Runtime (seconds):运行时间,单位秒.即控制其下样例执行多长时间.与线程组中的调度器的持续 ...

  5. Windows核心编程随笔

    最近在学习Windows底层原理,准备写个系列文章分享给大家,Michael Li(微软实习期间的Mentor,为人超好)在知乎回答过一些关于学习Windows原理的书籍推荐,大家可以拜读其中一本来入 ...

  6. vim实现批量注释和批量删除注释

    批量注释 1.进入文档,vim test.txt 后,按住ctrl+v进入VISUAL BLOCK模式,上下选择需要注释的行 2.按大写键,再按i,或者直接按shift+i,进入INSERT模式,输入 ...

  7. 十步学习法 -- 来自<<软技能>>一书的学习方法论

    <<软技能>>第三篇“学习”,作者讲述了自己的学习方法:十步学习法.下面我用编程语言的方式来介绍. 十步学习法 伪代码介绍 # **这一步的目的不是要掌握整个主题,而是对相关内 ...

  8. 【Python】机器学习之单变量线性回归 利用正规方程找到合适的参数值

    [Python]机器学习之单变量线性回归 利用正规方程找到合适的参数值 本次作业来自吴恩达机器学习. 你是一个餐厅的老板,你想在其他城市开分店,所以你得到了一些数据(数据在本文最下方),数据中包括不同 ...

  9. Vue父子组件传值$parent , ref,$refs,props大总结

    子组件: <template> <div class="child"> <slot name='meiyong'></slot> & ...

  10. [LuoguP2167][SDOI2009]Bill的挑战_容斥原理/状压dp

    Bill的挑战 题目链接:https://www.luogu.org/problem/P2167 数据范围:略. 题解: 因为$k$特别小,想到状压. 状压的方式也非常简单,就是暴力枚举. 但是会不会 ...