美文网首页
PHP操作文件

PHP操作文件

作者: 单纯小码农 | 来源:发表于2018-12-11 10:41 被阅读0次

    下载文件:

    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;
        }
    

    相关文章

      网友评论

          本文标题:PHP操作文件

          本文链接:https://www.haomeiwen.com/subject/ykrshqtx.html