php文件函数你知道吗? php文件函数

2019-04-28 08:25:12来源:华彩软件站 阅读 ()

新老客户大回馈,云服务器低至5折

php文件函数在程序员的工作中都会碰到,这边为大家收集了最常见的PHP文件操作函数,不可能全部罗列出来了,实在是太多了,这边的一些函数应该可以帮助到您在工作中提高工作效率了,一起跟小编看下吧!



PHP常用的文件操作函数


判断文件或文件夹是否存在 file_exists()


打开文件 fopen()


关闭文件 fclose()


判断是否可写入 is_writable()


写入数据 fwrite()


测试文件指针是否到了文件结束的位置 feof()


从文件指针中读取一行 fgets()


过滤HTML里的标记 fgetss()


解析CVS格式字段 fgetcsv()


读取整个文件内容 readfile ()


读取当前指针后的全部内容 fpassthru()


将整个文件作为一个字符串读入 file_get_contents()


读取一个字符 fgetc()


读取任意长度 fread()


将文件位置指针设为文件流开头 rewind()


获取一个文件的大小 filesize()


删除一个文件 unlink()


删除一个目录 rmdir()


创建一个目录 mkdir()


返回径中的文件名 basename()


返回路径中的目录部分 dirname()


返回文件路径的信息 pathinfo() 包括以下数组单元 dirname(显示所有的路径) basename(显示文件名和后缀名) extension(显示后缀名)


返回规范化的绝对路径 realpathf()


复制文件 copy()


返回目录中的可用空间 disk_free_space()


返回目录的磁盘总大小 disk_total_space()


将一个字符串写入文件 file_put_contents()


取得上次访问时间 fileatime()


给出文件的信息 stat()


通过已打开的文件指针取得文件信息 fstat


取得文件类型 filetype()


判断是否是一个目录 is_dir()


进行文件锁定 flock()


判断文件是否能过HTPP POST 上传的 is_uploaded_file()


将上传的文件移动到新位置 move_uploaded_file()




php文件上传函数详解


---代码开始---

<?php

class files{

   

    /**

    * upload

    *

    * 文件上传

    *

    * @param String $path   e.g. Zend_Registry::get('upload')

    * @param Array  $files  e.g. $_FILES['Filedata']

    * @param String $dir    e.g. $_POST['dir']

    *

    * return Array $msg  e.g. if($msg['error'])

    */

    static function upload($path,$files,$dir)

    {

        $msg=array();

       

        //文件保存目录路径

        $save_path = $path;

        //文件保存目录URL

        $save_url = $path;

        //定义允许上传的文件扩展名

        $ext_arr = array(

            'image' => array('gif', 'jpg', 'jpeg', 'png', 'bmp'),

            'flash' => array('swf', 'flv'),

            'media' => array('swf', 'flv', 'mp3', 'wav', 'wma', 'wmv', 'mid', 'avi', 'mpg', 'asf', 'rm', 'rmvb'),

            'file' => array('doc', 'docx', 'xls', 'xlsx', 'ppt', 'htm', 'html', 'txt', 'zip', 'rar', 'gz', 'bz2'),

        );

        //最大文件大小

        $max_size = 1000000;

       

        $save_path = realpath($save_path) . '/';

       

        //有上传文件时

        if (empty($_FILES) === false) {

            //原文件名

            $file_name = $files['name'];

            //服务器上临时文件名

            $tmp_name = $files['tmp_name'];

            //文件大小

            $file_size = $files['size'];

            //目录名

            $dir_name = empty($dir) ? 'image' : trim($dir);

            //检查文件名

            if (!$file_name) {

                $msg['error'] = "请选择文件。";

            }

            //检查目录

            else if (@is_dir($save_path) === false) {

                $msg['error'] = "上传目录不存在。请联系管理员";

            }

            //检查目录写权限

            else if (@is_writable($save_path) === false) {

                $msg['error'] = "上传目录没有写权限。请联系管理员";

            }

            //检查是否已上传

            else if (@is_uploaded_file($tmp_name) === false) {

                $msg['error'] = "临时文件可能不是上传文件。请重新上传";

            }

            //检查文件大小

            else if ($file_size > $max_size) {

                $msg['error'] = "上传文件大小超过限制。";

            }

            //检查目录名

            else if (empty($ext_arr[$dir_name])) {

                $msg['error'] = "目录名不正确。";

            }

            else

            {

                //获得文件扩展名

                $temp_arr = explode(".", $file_name);

                $file_ext = array_pop($temp_arr);

                $file_ext = trim($file_ext);

                $file_ext = strtolower($file_ext);

                //检查扩展名

                if (in_array($file_ext, $ext_arr[$dir_name]) === false) {

                    $msg['error'] = "上传文件扩展名是不允许的扩展名。n只允许" . implode(",", $ext_arr[$dir_name]) . "格式。";

                }

                else

                {

                    //创建文件夹

                   

                    $dbsave = ""; //数据库中存放的路径

                   

                    if ($dir_name !== '') {

                        $save_path .= $dir_name . "/";

                        $save_url .= $dir_name . "/";

                        $dbsave = $dir_name.'/';

                        if (!file_exists($save_path)) {

                            mkdir($save_path);

                        }

                    }

                   

                    $y = date("Y");

                    $m = date("m");

                    $d = date("d");

                               

                    $save_path .= $y . "/";

                    $save_url .= $y . "/";

                    $dbsave .= $y.'/';

                    if (!file_exists($save_path)) {

                        mkdir($save_path);

                    }

                   

                    $save_path .= $m . "/";

                    $save_url .= $m . "/";

                    $dbsave .= $m.'/';

                    if (!file_exists($save_path)) {

                        mkdir($save_path);

                    }

                   

                    $save_path .= $d . "/";

                    $save_url .= $d . "/";

                    $dbsave .= $d.'/';

                    if (!file_exists($save_path)) {

                        mkdir($save_path);

                    }

                   

                    //新文件名

                    $new_file_name = date("YmdHis") . '_' . rand(10000, 99999) . '.' . $file_ext;

                    //移动文件

                    $file_path = $save_path . $new_file_name;

                   

                    if (move_uploaded_file($tmp_name, $file_path) === false) {

                        $msg['error'] = "上传文件失败。";

                    }

                    //数据库最终存储的文件

                    $dbsave .= $new_file_name;

                    @chmod($file_path, 0644);

                    $file_url = $save_url . $new_file_name;

                    $msg['file_url'] = $file_url;

                    $msg['file_size'] = $file_size;

                    $msg['db_path'] = $dbsave;

                }//检查扩展名

            }//目录正确性

            return $msg;

        }

    }

    //文件上传

}

---代码结束---


原文链接:http://www.huacolor.com/article/38191.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:统计谷歌广告收入?WP8应用帮你统计

下一篇:TrustedInstaller管理权限是什么?关于Win7最高管理权限