zoukankan      html  css  js  c++  java
  • 转载:PHP扩展函数库-文件系统、进程与网络

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

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

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

      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进行解码   
        
    <?php
    $data = array('foo'=>'bar',
                  'baz'=>'boom',
                  'cow'=>'milk',
                  'php'=>'hypertext processor');
                  
    echo http_build_query($data); // foo=bar&baz=boom&cow=milk&php=hypertext+processor
    
    
    $url = 'http://username:password@hostname/path?arg=value#anchor';
    
    print_r(get_headers($url));
    /*
    Array
    (
        [scheme] => http
        [host] => hostname
        [user] => username
        [pass] => password
        [path] => /path
        [query] => arg=value
        [fragment] => anchor
    )
    */



        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

  • 相关阅读:
    collections.ChainMap类合并字典或映射
    collections.namedtuple()命名序列元素
    过滤、修改和替换列表数据
    快速排序
    itertools.groupby()分组字典列表
    operator.attrgetter() 进行对象排序
    operator.itemgetter() 字典列表排序
    collections.Counter类统计列表元素出现次数
    递归
    正则表达式的一些题
  • 原文地址:https://www.cnblogs.com/binghuo000/p/6398680.html
Copyright © 2011-2022 走看看