PHP操作文件

下载文件:

function getFile( $url, $filename = '', $save_dir = '', $type = 0 ) {
        if ( trim( $url ) == '' ) {
            return false;
        }
        if ( trim( $save_dir ) == '' ) {
            $save_dir = './';
        }
        if ( 0 !== strrpos( $save_dir, '/' ) ) {
            $save_dir .= '/';
        }
        //创建保存目录
        if ( !file_exists( $save_dir ) && !mkdir( $save_dir, 0777, true ) ) {
            return false;
        }
        //获取远程文件所采用的方法
        if ( $type ) {
            $ch = curl_init();
            $timeout = 5;
            curl_setopt( $ch, CURLOPT_URL, $url );
            curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
            curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, $timeout );
            $content = curl_exec( $ch );
            curl_close( $ch );
        } else {
            ob_start();
            readfile( $url );
            $content = ob_get_contents();
            ob_end_clean();
        }
        //echo $content;
        $size = strlen( $content );
        //文件大小
        $fp2 = @fopen( $save_dir . $filename, 'a' );
        fwrite( $fp2, $content );
        fclose( $fp2 );
        unset( $content, $url );
        return array(
            'file_name' => $filename,
            'save_path' => $save_dir . $filename,
            'file_size' => $size
        );
    }

解压文件:

function tarFile( $file_name ) {
        $buffer_size = 4096; // read 4kb at a time
        $out_file_name = str_replace( '.gz', '', $file_name );

        $file = gzopen( $file_name, 'rb' );
        $out_file = fopen( $out_file_name, 'wb' );

        while ( !gzeof( $file ) ) {
            fwrite( $out_file, gzread( $file, $buffer_size ) );
        }
        fclose( $out_file );
        gzclose( $file );
    }

读取文件:

function readFile( $file_name ) {
        $hander = fopen( $file_name, 'r' ) or die( "Unable to open file!" );
        $str = fread( $hander, filesize( $file_name ) );
        fclose( $hander );
        return $str;
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容