• php 读取网页源码 , 导出成txt文件, 读取xls,读取文件夹下的所有文件的文件名


    <?php

    // 读取网页源码
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_HEADER, 1);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);//这个是重点。
    $contents = curl_exec($curl);


    //导出成txt文件
    $str = "abcd";
    $fp=fopen("pic.txt","w");
    fputs($fp,$str);
    fclose($fp);


    //读取表格
    require_once 'excel_reader2.php';
    $data = new Spreadsheet_Excel_Reader();
    $data->setOutputEncoding('UTF-8');
    $data->read($filename);
    for($i=1;$i<=$data->sheets[0]["numRows"];$i++){
    for($j=1;$j<=$data->sheets[0]['numCols'];$j++){
    $str2=@$data->sheets[0]['cells'][$i][$j];
    }
    }

    //读取文件夹下的所有文件的文件名
    $filedir = "C:/Users/xia/Desktop/新建文件夹/ProductInfoList/";
    $rfdir= new rdfile($filedir);
    $file = implode(" ",$rfdir->fileList);
    class rdfile{
    public $fileList; // 所有子文件夹的文件名
    public $ftype; // 限制文件的类型
    public $dirlist; // 当前文件夹下的所有文件和文件夹名称。
    function __construct($path,$filetype="*"){
    if(!is_dir($path)){die("这不是个目录");}
    $len = strlen($path)-1;
    if($path{$len} == "/"||$path{$len} == "\"){$path = substr($path,0,-1);}
    $this->ftype = $filetype;
    $this->fileList = array();
    $this->readypath($path);
    }
    public function readypath($path){
    $dirList = scandir($path);
    unset($dirList[0]);
    unset($dirList[1]);
    $this->dirlist = $dirList;
    foreach($dirList as $key=>$value){
    $pathfile=$path. DIRECTORY_SEPARATOR .$value;
    if(is_dir($pathfile)){
    $this->readypath($pathfile);
    }else if(is_file($pathfile)){
    if($this->ftype=="*"){
    $this->fileList[] = $pathfile;
    }else{
    if(strrchr($pathfile,".") == ".".$this->ftype){$this->fileList[] = $pathfile;}
    }
    }
    }
    }
    }

    ?>

  • 相关阅读:
    ($children,$refs,$parent)的使用
    watch监听变化
    vue组件间通信六种方式(完整版)
    CSS水平垂直居中常见方法总结2
    CSS水平垂直居中常见方法总结
    Uncaught SyntaxError: Unexpected identifier 报错 import Vue from 'vue';
    前端跳槽面试必备
    防止重复发送Ajax请求问题
    JQuery中的$().each 以及 $.each的区别
    数组中的forEach和map的区别
  • 原文地址:https://www.cnblogs.com/ajk4/p/5893805.html
Copyright © 2020-2023  润新知