php文件操作(最后进行文件常用函数封装

文件信息相关API

    $filename="./1-file.php";
    //filetype($filename):获取文件的类型,返回的是文件的类型
    echo '文件类型为:',filetype($filename),"\n";file
    //filesize($filename):获得文件的大小,返回字节
    echo '文件大小为:',1)">filesize(1214
    //filectime($filename):获取文件的创建时间
    echo '文件创建时间为:',1)">filectime(1578719729
    date('Y年m月d日 H:i:s',1)">$filename)),1)">2020年01月11日 13:15:29
    //filemtime($filename):文件的修改时间
    echo '文件的修改时间为:',1)">date("Y/m/d H:i:s",1)">filemtime(2020/01/11 14:28:20
    //fileatime($filename):文件的最后访问时间
    echo '文件的最后访问时间为:',1)">fileatime(2020/01/11 14:28:20

检测文件是否可读、可写、可执行is_readable()、is_writeable()、is_executable();

    var_dump(
      is_readable(bool(true)
      is_writable(is_writeable(is_executable($filename)bool(false)
    );

is_file($filename):检测是否为文件,并且文件存在

    var_dump(is_file($filename));bool(true)

pathinfo():文件路径相关信息

    $filename="./test1.txt";
    $pathinfo=pathinfo($filename);
    print_r($pathinfo/*
    Array
    (
       [dirname] => .
       [basename] => test1.txt
       [extension] => txt
       [filename] => test1
    )
    */
    echo '文件扩展名:',1)">$filename,PATHINFO_EXTENSION),1)">txt
    $filename=__FILE__;  
    echo D:\phpstudy_pro\WWW\phptest
    2-path.php
    php
    2-path
    //basename():返回路径中的文件名部分
    basename(2-path
    //dirname():返回文件名中路径部分
    dirname(D:\phpstudy_pro\WWW\phptest
    //file_exists():检测文件或者目录是否存在
    file_exists(D:\phpstudy_pro\WWW\phptest\2-path.php:31:bool(true)
    touch('aa.txt');

文件相关操作
文件创建、删除、剪切、重命名、拷贝

    touch($filename):创建文件
    $filename='test1.txt'touch(bool(true)
    //unlink($filename):删除指定文件
    unlink(bool(true)
    //检测文件存在则删除
    if()){
        )){
            echo '文件删除成功';
        }else{
            echo '文件删除失败';
        }
    }{
        echo '要删除的文件不存在';要删除的文件不存在
    }
    rename($filename,$newname):重命名或者剪切文件
    $newname='test111.txt'rename($newnameecho '重命名成功';重命名成功
    }echo '重命名失败';
    }

    将test123.txt剪切到test目录下test123.txt
     $filename='test123.txt';
     $path='./test/test123.txt';
     )){
       $path)){
         echo '文件剪切成功';
       }{
         echo '文件剪切失败';文件剪切失败
       }
     }{
       echo '文件不存在';
     }

    copy($source,$dest):复制文件
     $source='2-path.php'$dest='test123/2-path.php'copy($source,1)">$destecho '文件拷贝成功';
     }echo '文件拷贝失败';文件拷贝失败
     }
    拷贝远程文件需要开启PHP配置文件中的allow_url_fopen=On
    copy('http://blog.phpfamily.org/wp-content/uploads/2016/09/king-1.jpg','./king-1.jpg'));bool(false)

文件内容相关操作

    fopen():打开指定文件,以指定的方式来打开
    $handle=fopen();
     var_dump($handle);resource(5) of type (stream)

    //fread():读取文件内容 一个中文3个字节
     $res=fread($handle,3echo $res,1)">这

     是(接着上一次继续读取)

    //filesize() 函数返回指定文件的大小
     55
     ));
     (接着上一次继续读取)读取全部内容
     //一段测试文本
    //这是另一段测试文本hh

    //ftell返回文件指针读/写的位置
     ftell($handle),1)">55

    string(0) ""
    //fseek($handle,$num):重置指针
    fseek(string(21) "这是一段测试文"

    //fclose($handle):关闭文件句柄
    fclose($handlebool(false)

文件写入

    $filename=__DIR__.'/aa.txt'rb+ 读写打开一个二进制文件,允许读写数据,文件必须存在
    fwrite()/fputs():写入内容
    //注意:fwrite向文件写入内容,如果之前有内容,会产生覆盖
    fwrite(abc是一段测试文本
    //这是另一段测试文本hh

文件追加

    如果文件不存在会创建,
    //如果文件存在,会先将文件内容截断为0,接着在开始写入
    $filename="./aa.txt"ab+ 追加模式
    PHP_EOL.'hello king'abc是一段测试文本
    //这是另一段测试文本hh
    //hello king

截断文件

    $filename='aa.txt'ftruncate():截断文件
    ftruncate(abcæ 第四个中文被截断后的奇葩效果哈哈哈哈

检测文件指针是否到了文件末尾

    feof():检测文件指针是否到了文件末尾
    while(!feof()){
      一个字符一个字符读取
      // echo fgetc($handle);
      //一行一行读取
      fgets($handle)."\n";
      一行一行读取,并且过滤HTML标记
      strip_tags($handle))."\n"fgetss() 函数从打开的文件中读取一行并过滤掉 HTML 和 PHP 标记
      fgetss();
    }

fgetcsv() 函数从文件指针中读入一行并解析 CSV 字段

    $filename='user.csv');
     $rows=[];
     while($row=fgetcsv()){
       $rows[]=$row;
     }
     $rows);
     
    fopen('user1.csv','-');
    }

fputcsv() 函数将行格式化为 CSV 并写入一个打开的文件

    $filename='user3.csv');

    $data=[
      ['id'=>1,'courseName'=>'ios','courseDesc'=>'this is ios'],1)">
      ['id'=>2,'courseName'=>'android','courseDesc'=>'this is android'],1)">
      ['id'=>3,'courseName'=>'swift','courseDesc'=>'this is swift']
    ];
    foreach($data as $val){
      fputcsv($val,1)">);
    }
    $handle);

获取到文件中的文本

    $string=file_get_contents($stringabc是一段测试文本
    //这是另一段测试文本hh
    //hello king

向文件中写入内容
不存在则创建再写入

    $filename='./aa.txt'file_put_contents($filename,$data):向文件中写入内容
    //$data是字符串格式
    file_put_contents();
    $res);this is a test
    echo "\n"如果不想覆盖之前的内容,可以先把文件中读取出来,接着再来写入
     $data=$string.'this is a test'$datathis is a testthis is a test

    //如果文件不存在,file_put_contents()会创建这个文件
    $filename='aaa.txt'[
       ['a','b','c'],1)">
       ['d','e','f']
     ];
     );
     
    数组或者对象序列化之后写入文件
     $data=['a','c'];
     serialize(print_r(unserialize($res));
    (
    //[0] => a
    //[1] => b
    //[2] => c
    //)

    // 将数组或者对象转换成json之后写入文件
     ]
     ];
     $data=json_encode($res=json_decode(
    //Array
    //(
    //    [0] => Array
    //    (
    //        [0] => a
    //        [1] => b
    //[2] => c
    //        )
    //
    //    [1] => Array
    //(
    //    [0] => d
    //    [1] => e
    //[2] => f
    //        )
    //
    //)

常用函数封装:

【文件常用操作函数封装】

    *
     * 创建文件操作
     * @method create_file
     * @param  string      $filename 文件名
     * @return boolean                true|false
     function create_file(string ){
      检测文件是否存在,不存在则创建
      return false;
      }
      检测目录是否存在,不存在则创建
      if(!file_exists())){
        创建目录,可以创建多级
        mkdir(true);
      }
      ){
        ;
    }
     var_dump(create_file('2.txt'));bool(true)
     var_dump(create_file('a/4.txt'));bool(true)


    *
     * 删除文件操作
     * @method del_file
     * @param  string   $filename 文件名
     * @return boolean             true|false
     function del_file(检测删除的文件是否存在,并且是否有权限操作
      $filename)||!var_dump(del_file('a/3.txt'));bool(false)


    *
     * 拷贝文件操作
     * @method copy_file
     * @param  string    $filename 文件名
     * @param  string    $dest     指定目录
     * @return boolean              true|false
     function copy_file(检测$dest是否是目标并且这个目录是否存在,不存在则创建
      is_dir(mkdir($dest,1)">);
      }
      $destName=$dest.DIRECTORY_SEPARATOR.);
      检测目标路径下是否存在同名文件
      $destName拷贝文件
      ;
    }
    var_dump(copy_file('2.txt','a'));*
     * 重命名操作
     * @method rename_file
     * @param  string      $oldName 原文件
     * @param  string      $newName 新文件名
     * @return boolean               true|false
     function rename_file($oldName,1)">$newName检测原文件并且存在
      $oldName得到原文件所在的路径
      $path=);
      $path.DIRECTORY_SEPARATOR. var_dump(rename_file('2.txt','333.txt'));


    *
     * 剪切文件操作
     * @method cut_file
     * @param  string   $filename 原文件
     * @param  string   $dest     目标路径
     * @return boolean             true|false
     function cut_file(var_dump(cut_file('333.txt','a'var_dump(cut_file('22.txt','a'));

【文件信息相关函数封装】

    *
     * 返回文件信息
     * @method get_file_info
     * @param  string        $filename 文件名
     * @return mixed                  文件信息相关数组|false
     function get_file_info(return [
        'atime'=>date("Y-m-d H:i:s",'mtime'=>)
      ];
    }
    var_dump(get_file_info('22.txt'));


    *
     * 字节单位转换的函数
     * @method trans_byte
     * @param  int        $byte      字节
     * @param  integer    $precision 默认精度,保留小数点后2位
     * @return string                转换之后的字符串
     function trans_byte(int $byte,int $precision=2){
      $kb=1024;
      $mb=1024*$kb$gb=1024*$mb$tb=1024*$gbif($byte<return $byte.'B';
      }elseif(round($byte/$kb,1)">$precision).'KB'$mb,1)">$precision).'MB'$tb$gb,1)">$precision).'GB'$tb,1)">$precision).'TB';
      }
    }
    var_dump(trans_byte(12345678));string(7) "11.77MB"

【文件读写函数封装】

    *
     * 读取文件内容,返回字符串
     * @method read_file
     * @param  string    $filename 文件名
     * @return mixed              文件内容|false
     function read_file(检测是否是一个文件并且文件已存在
      $filename) && var_dump(read_file('232.txt'));*
     * 读取文件中的内容到数组中
     * @method read_file_array
     * @param  string          $filename         文件名
     * @param  boolean         $skip_empty_lines 是否过滤空行
     * @return mixed                            array|false
     function read_file_array($skip_empty_lines=$filename)&&$skip_empty_lines){
          file(FILE_SKIP_EMPTY_LINES);
        }{
          );
        }
      }
      var_dump(read_file_array('22.txt',1)">*
     * 向文件中写入内容
     * @method write_file
     * @param  string     $filename 文件名
     * @param  mixed      $data     数据,数组和对象需要处理
     * @return boolean               true|false
     function write_file($dirname=检测目标路径是否存在
      $dirname$dirname,1)">判断内容是否是数组或者对象
      is_array($data)||is_object(序列化数据
        向文件中写入内容
      $data)!==var_dump(write_file('c/1.txt',['a',1)">]));


    *
     * 向文件中写入内容,之前内容不清空
     * @method write_file1
     * @param  string      $filename  文件名
     * @param  mixed       $data      数据
     * @param  boolean     $clearFlag 是否清空文件
     * @return boolean                 true|false
     function write_file1($data,1)">$clearFlag=检测文件是否存在并且可读
      读取文件内容,之后和新写入的内容拼装到一起
        $filename)>0){
          $srcData=);
        }
      }

      拼装到一起
      $srcData.var_dump(write_file1('22.txt','hello world'*
     * 截断文件到指定大小
     * @method truncate_file
     * @param  string        $filename 文件名
     * @param  int           $length   长度
     * @return boolean                 true|false
     function truncate_file($length检测是否是文件
      )){
        );
        $length=$length<0?0:;
        );
        var_dump(truncate_file('22.txt',2));

【文件下载函数封装】

    *
     * 下载文件
     * @method down_file
     * @param  string    $filename     文件名
     * @param  array     $allowDownExt 允许下载的文件类型
     * @return void
     function down_file(array $allowDownExt=array('jpeg','jpg','png','gif','txt','html','php','rar','zip'检测下载文件是否存在,并且可读
      检测文件类型是否允许下载
      $ext=strtolower(PATHINFO_EXTENSION));
      in_array($ext,1)">$allowDownExt通过header()发送头信息
      //告诉浏览器输出的是字节流
      header('Content-Type:application/octet-stream');

      告诉浏览器返回的文件大小是按照字节进行计算的
      header('Accept-Ranges: bytes'告诉浏览器返回的文件大小
      header('Accept-Length: '.));

      告诉浏览器文件作为附件处理,告诉浏览器最终下载完的文件名称
      header('Content-Disposition: attachment;filename=king_'.读取文件中的内容
      readfile(exit;

    }

规定每次读取文件的字节数为1024字节,直接输出数据
    function down_file1(通过header()发送头信息

      //告诉浏览器输出的是字节流
      );

      $filesize=header('Accept-Length: '.$filesize读取文件中的内容

      //规定每次读取文件的字节数为1024字节,直接输出数据
      $read_buffer=1024$sum_buffer=0$handle) && $sum_buffer<$read_buffer$sum_buffer+=在具体页面调用时
    require_once 'file.func.php'$filename=$_GET['filename'];
    down_file1($filename);

【文件上传函数封装】

    *
     * 单文件上传
     * @method upload_file
     * @param  array       $fileInfo   上传文件的信息,是一个数组
     * @param  string      $uploadPath 文件上传默认路径
     * @param  boolean     $imageFlag  是否检测真实图片
     * @param  array       $allowExt   允许上传的文件类型
     * @return mixed                  成功返回文件最终保存路径及名称,失败返回false
     function upload_file($fileInfo,1)">$uploadPath='./uploads',1)">$imageFlag=true,1)">$allowExt=$maxSize=2097152define('UPLOAD_ERRS',1)">[
        'upload_max_filesize'=>'超过了PHP配置文件中upload_max_filesize选项的值','form_max_size'=>'超过了表单MAX_FILE_SIZE选项的值','upload_file_partial'=>'文件部分被上传','no_upload_file_select'=>'没有选择上传文件','upload_system_error'=>'系统错误','no_allow_ext'=>'非法文件类型','exceed_max_size'=>'超出允许上传的最大值','not_true_image'=>'文件不是真实图片','not_http_post'=>'文件不是通过HTTP POST方式上传上来的','move_error'=>'文件移动失败'
      ]);

      检测是否上传是否有错误
      $fileInfo['error']===UPLOAD_ERR_OK){
        检测上传文件类型
        $fileInfo['name'],1)">PATHINFO_EXTENSION));
        $allowExt)){
          echo  UPLOAD_ERRS['no_allow_ext'];
          ;
        }
        检测上传文件大小是否符合规范
        $fileInfo['size']>$maxSizeecho UPLOAD_ERRS['exceed_max_size'检测是否是真实图片
        $imageFlagif(@!getimagesize($fileInfo['tmp_name'])){
            echo UPLOAD_ERRS['not_true_image'];
            ;
          }
        }
        检测文件是否通过HTTP POST方式上传上来的
        is_uploaded_file(])){
          return UPLOAD_ERRS['not_http_post'];
        }
        检测目标目录是否存在,不存在则创建
        $uploadPath$uploadPath,1)">);
        }
        生成唯一文件名,防止重名产生覆盖
        $uniName=md5(uniqid(microtime(true),1)">true)).'.'.$ext;
        $dest=$uploadPath.DIRECTORY_SEPARATOR.$uniName;

        移动文件
        move_uploaded_file($fileInfo['tmp_name'],1)">echo UPLOAD_ERRS['move_error'echo '文件上传成功'switch($fileInfo['error']){
          case 1:
           $mes='超过了PHP配置文件中upload_max_filesize选项的值';
          $mes=UPLOAD_ERRS['upload_max_filesize'break;
          case 2:
          $mes=UPLOAD_ERRS['form_max_size'case 3:
          $mes=UPLAOD_ERRS['upload_file_partial'case 4:
          $mes=UPLOAD_ERRS['no_upload_file_select'case 6:
          case 7:
          case 8:
          $mes=UPLAOD_ERRS['upload_system_error'$mes;
      }
    }

    $fileInfo=$_FILES['myFile'];
    var_dump(upload_file($fileInfo));

【文件压缩与解压缩函数封装】

    *
     * 压缩单个文件
     * @method zip_file
     * @param  string   $filename 文件名
     * @return boolean             true|false
     function zip_file(;
      }
      $zip=new ZipArchive();
      $zipName=$filename).'.zip'打开指定压缩包,不存在则创建,存在则覆盖
      $zip->open($zipName,ZipArchive::CREATE|ZipArchive::OVERWRITE)){
        将文件添加到压缩包中
        $zip->addFile()){
          $zip->close();
          @);
          ;
        }
      } var_dump(zip_file('22.txt'));
    // func_get_args
    // test1.zip



    *
     * 多文件压缩
     * @method zip_files
     * @param  string    $zipName 压缩包的名称,.zip结尾
     * @param  string     $files   需要压缩文件名,可以是多个
     * @return boolean             true|false
     function zip_files($files检测压缩包名称是否正确
      $zipExt=if('zip'!==$zipExt ZipArchive();
      $files $file)){
            );
          }
        }
        close();
         var_dump(zip_files('test1.zip','22.txt'));
    // var_dump(zip_files('test2.zip','doUpload.php','downLoad.html','upload.html'));



        *
         * 解压缩
         * @method unzip_file
         * @param  string     $zipName 压缩包名称
         * @param  string     $dest    解压到指定目录
         * @return boolean              true|false
         */
        function unzip_file(检测要解压压缩包是否存在
          $zipName;
          }
          检测目标路径是否存在
          );
          }
           ZipArchive();
          $zip->extractTo();
            close();
            ;
          } var_dump(unzip_file('test2.zip','a'));

$_FILES 参数详解:
$_FILES["file"]["name"] – 被上传文件的名称
$_FILES["file"]["type"] – 被上传文件的类型
$_FILES["file"]["size"] – 被上传文件的大小,以字节计
$_FILES["file"]["tmp_name"] – 存储在服务器的文件的临时副本的名称
$_FILES["file"]["error"] – 由文件上传导致的错误代码


$_FILES["file"]["error"]中的["error"]值情况:
UPLOAD_ERR_OK
0:没有错误发生,文件上传成功
UPLOAD_ERR_INI_SIZE
1:上传的文件超过了 php.ini 中 upload_max_filesize(默认情况为 2M) 选项限制的值
UPLOAD_ERR_FORM_SIZE
2:上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值
UPLOAD_ERR_PARTIAL
3:文件只有部分被上传
UPLOAD_ERR_NO_FILE
4:没有文件被上传
5:传文件大小为 0

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


文章浏览阅读8.4k次,点赞8次,收藏7次。SourceCodester Online Tours & Travels Management System pay.php sql injectionLine 16 of pay.php invokes a SQL query built using unvalidated input. This call could allow an attacker to modify the statement’s meaning or to execute arbitrary SQL commands.SQL
文章浏览阅读3.4k次,点赞46次,收藏51次。本文为大家介绍在windwos系统搭建typecho博客+cpolar内网穿透工具将博客发布到公共网络环境,实现远程也可以访问和操作。_windows搭建typecho
文章浏览阅读1.1k次。- php是最优秀, 最原生的模板语言, 替代语法,让php更加的优雅的与html生活在一起 -->请放心, 最终生成的,或者说用户最终看到的,仍然是一个html文档, php代码中的内容不会被泄漏的。-- 将php与html代码混编的时候,大括号很容易造成配对错误,最好杜绝它 -->php标签内部代码由php.exe解释, php标签之外的代码原样输出,仍由web服务器解析。-- 所以php的流程控制语句, 都提供了替代语法,用冒号代替大括号 -->php echo '百变鹏仔'?_利用php将静态页面修改为动态页面
文章浏览阅读1.1k次,点赞18次,收藏15次。整理K8s网络相关笔记博文内容涉及 Linux network namespace 认知以及彼此通信Demo,实际中的应用理解不足小伙伴帮忙指正不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼前的风景已经和从前不一样了。——村上春树。_linux network namespace 多端通信 模式认知
文章浏览阅读1.2k次,点赞22次,收藏19次。此网络模型提供了一个逻辑二层(L2)网络,该网络封装在跨 Kubernetes 集群节点的现有三层(L3)网络拓扑上。使用此模型,可以为容器提供一个隔离的 L2 网络,而无需分发路由。封装网络带来了少量的处理开销以及由于覆盖封装生成 IP header 造成的 IP 包大小增加。封装信息由 Kubernetes worker 之间的 UDP 端口分发,交换如何访问 MAC 地址的网络控制平面信息。此类网络模型中常用的封装是 VXLAN、Internet 协议安全性 (IPSec) 和 IP-in-IP。_k8s网络组件对比
文章浏览阅读1.1k次,点赞14次,收藏19次。当我们谈论网络安全时,我们正在讨论的是保护我们的在线空间,这是我们所有人的共享责任。网络安全涉及保护我们的信息,防止被未经授权的人访问、披露、破坏或修改。
文章浏览阅读1.3w次,点赞3次,收藏7次。尽管您可以通过 ping 命令解析出网站的 IP 地址,但是可能在浏览器中访问时仍然遇到问题,这可能是因为浏览器使用的 DNS 解析结果不同于 ping 命令使用的解析结果。可能是因为您的网络或设备上设置了防火墙,阻止了对特定网站的访问。有些国家或组织可能会对特定的域名进行屏蔽,从而阻止访问相关网站。如果您的网络使用代理服务器进行访问控制,可能会由于代理服务器的配置问题导致无法访问某些网站。即使您的网络和设备一切正常,目标网站本身可能也存在问题,例如服务器故障、维护或过载,导致无法访问。_能ping通打不开网页
文章浏览阅读839次,点赞22次,收藏19次。本系统带文档lw万字以上文末可领取本课题的JAVA源码参考。
文章浏览阅读2.1k次,点赞31次,收藏22次。基于微信小程序奶茶点餐外卖系统设计与实现(PHP后台+Mysql)可行性分析毕设源代码毕业设计,数据安全和系统稳定性以及团队能力和资源配备方面都具备较好的条件。因此,该项目的可行性较高。:黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;微信小程序作为一种快捷、方便的移动应用形式,成为很多用户点餐外卖的首选。项目的界面和功能都可以定制,包安装运行!项目配有对应开发文档、开题报告、任务书、PPT、论文模版等。
文章浏览阅读1.8k次,点赞52次,收藏38次。本文主要通过对系统的前台系统和后台管理系统进行了功能性需求分析,对系统的安全性和可扩展性进行了非功能性需求分析。在详细的需求分析的基础上,根据系统的功能设计确定了数据库结构,实现完整的代码编写。Lucky+Baby母婴用品网站使用 Dreamweaver、HBuilder代码编辑器、Apache服务器等开发工具,完成了系统的主要模块的页面设计和功能实现。本文展示了首页页面的实现效果图,并通过代码和页面介绍了用户注册功能、商品搜索功能、生成订单和查看我的订单功能、在线付款功能功能的实现过程。
文章浏览阅读1.5k次,点赞45次,收藏40次。本设计主要实现集人性化、高效率、便捷等优点于一身的人事信息管理系统,完成首页、系统用户、通知公告、部门信息、员工薪资、考勤签到、员工请假、招聘信息、应聘信息等功能模块。
文章浏览阅读1k次。该错误通常出现在数据库读取结果集数据时,比如当我们写好SQL语句从数据库读取数据时,本身应该返回结果集,再给结果集中读取数据。解决思路:这种错误一般是因为echo后面输出了一个数组导致的,或者是数组作为字符串进行拼接运算时导致的。该错误直译为:警告:mysqli_fetch_assoc函数期望参数1是mysqli的结果集,但是给了一个布尔值。这种错误是PHP解析器在解析时遇到了语法错误,直译为:解析错误:语法错误,意料之外的...该错误直译为:提示:未定义的索引:username。_array to string conversion in
文章浏览阅读2.7w次。解决http请求报错context deadline exceeded (Client.Timeout exceeded while awaiting headers)_context deadline exceeded (client.timeout exceeded while awaiting headers)
文章浏览阅读1.3k次,点赞26次,收藏24次。复杂网络是一种由大量相互连接的元素(节点或顶点)组成的网络结构,这些连接通常是非常复杂和动态的。这些网络可以在各种领域中发现,包括社交网络、生物学系统、信息技术和交通系统等。_代理建模
文章浏览阅读2.6k次,点赞76次,收藏71次。epoll详解,事件模型,ET/LT模式,并通过三个示例进行代码实现。
文章浏览阅读3.3k次。罗拉ROLA-IP是一家来自纽约的代理IP提供商,由李嘉诚先生投资建设,韩国人工智能、自动驾驶、虚拟现实方面的领军企业World IT Show投资入股,由美国纽约大学IT管理教授团队研究开发,进入中国市场6年多,全世界设有多个分子公司。接下来,我们要检查代理和防火墙的设置,因为在绝大多数情况下,它们是导致这个错误的原因,尤其是当用户使用免费代理时。对网站的访问受阻实际上是一个非常常见的错误,它既可能是由于物理原因(硬件问题)造成的,也可能是由于软件错误引起的。检查代理设置,并确保其正确配置。_无法访问此网站,检查代理服务器和防火墙
文章浏览阅读1.1k次,点赞14次,收藏20次。本系统带文档lw万字以上文末可领取本课题的JAVA源码参考。_php洗车服务预约管理系统php源码
文章浏览阅读1.1k次。桶排序是计数排序的升级版。它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定。同时,对于桶中元素的排序,选择何种比较排序算法对于性能的影响至关重要。
文章浏览阅读936次,点赞22次,收藏17次。本系统带文档lw万字以上文末可领取本课题的JAVA源码参考。
文章浏览阅读822次,点赞15次,收藏14次。在整个设计过程中,要确定可能的具体解决方案,以实现每一个小的最终目标,对于每一个小目标,我们首先必须了解一些相关的需求分析信息。除了以上作品下面是2023-2024年最新100套计算机专业原创的毕业设计源码+数据库,是近期作品,如果你的题目刚好在下面可以文末领取java源码参考。springboot基于springboot的在线考试系统。springboot基于springboot的商城购物系统。springboot基于微信小程序的智慧校园设计与实现。springboot基于用户的协同过滤算法的话题推荐。