当前位置: 首页 > 知识库问答 >
问题:

PHP在线读取Excel文件而不下载该文件

程和煦
2023-03-14

那么这里有什么解决方案可以使用php在线阅读excel或google电子表格呢?

更新:

建议@adyson使用相同的头来获取PHP下载的数据。

function dfCurl($url){
        $ch     =   curl_init($url);
        $dir            =   '../';
        $fileName       =   basename($url);
        $saveFilePath   =   $dir . $fileName;
        $fp             =   fopen($saveFilePath, 'wb');
        $headers = [
            ':authority: www.idx.co.id',
            ':method: GET',
            ':path: /Portals/0/StaticData/ListedCompanies/Corporate_Actions/New_Info_JSX/Jenis_Informasi/01_Laporan_Keuangan/02_Soft_Copy_Laporan_Keuangan//Laporan%20Keuangan%20Tahun%202021/TW1/AALI/FinancialStatement-2021-I-AALI.xlsx',
            ':scheme: https',
            'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
            'accept-encoding: gzip, deflate, br',
            'accept-language: en-AU,en;q=0.9,id-ID;q=0.8,id;q=0.7,zh-CN;q=0.6,zh;q=0.5,ja-JP;q=0.4,ja;q=0.3,en-GB;q=0.2,en-US;q=0.1',
            'cache-control: no-cache',
            'cookie: _ga=GA1.3.1396311216.1625813381; skipFeedback=1; __cf_bm=mF3lXNPMKeLe1xFzY5eKQM1TFN.yz7lxgWMJEYWBcjA-1635412963-0-AUMv9HWMpGhIN6c7eDVT++ok0dYE1NL+PyRJBpNUfZviT8bNS5Zm4UQjAm7gUJad4Qv7h+Q9ak+u/Q18tGDx0pU=',
            'pragma: no-cache',
            'referer: https://www.idx.co.id/perusahaan-tercatat/laporan-keuangan-dan-tahunan/',
            'sec-ch-ua: "Google Chrome";v="95", "Chromium";v="95", ";Not A Brand";v="99"',
            'sec-ch-ua-mobile: ?1',
            'sec-ch-ua-platform: "Android"',
            'sec-fetch-dest: document',
            'sec-fetch-mode: navigate',
            'sec-fetch-site: same-origin',
            'sec-fetch-user: ?1',
            'upgrade-insecure-requests: 1',
            'user-agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Mobile Safari/537.36'
        ];
        curl_setopt($ch, CURLOPT_FILE, $fp);        
        curl_setopt($ch, CURLOPT_HEADER, $headers);       
        curl_exec($ch);
        curl_close($ch);
        fclose($fp);
    }
    
public function Export() {
        // Initialize a file URL to the variable        
        $url = 'https://www.idx.co.id/Portals/0/StaticData/ListedCompanies/Corporate_Actions/New_Info_JSX/Jenis_Informasi/01_Laporan_Keuangan/02_Soft_Copy_Laporan_Keuangan//Laporan%20Keuangan%20Tahun%202021/TW1/AALI/FinancialStatement-2021-I-AALI.xlsx';               
        dfCurl($url);       
    }

谢谢。

共有1个答案

常英毅
2023-03-14

最后,我可以使用php从该站点下载。

我想做的就是使用卷曲:

 function dfCurl($url){
        $ch     =   curl_init($url);
        $dir            =   '../';
        $fileName       =   basename($url);
        $saveFilePath   =   $dir . $fileName;
        $fp             =   fopen($saveFilePath, 'wb');
        $headers = [
            'authority: www.idx.co.id',
            'method: GET',            
            'scheme: https',
            'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',            
            'cache-control: no-cache',            
            'pragma: no-cache',            
            'user-agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Mobile Safari/537.36',
            'Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
        ];
        curl_setopt($ch, CURLOPT_FILE, $fp);        
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);       
        curl_exec($ch);
        curl_close($ch);        
        fclose($fp);
        
    }

仅此而已。

 类似资料:
  • 问题内容: 我正在尝试读取Excel文件(Office 2003)。有一个Excel文件需要上载并对其内容进行解析。 通过Google,我只能找到以下相关(且主题不足)的答案:生成Excel文件,读取Excel XML文件,读取Excel CSV文件或不完整的废弃项目。我拥有Office 2003,因此如果我需要那里的任何文件,都可以使用它们。它已安装在我的盒子上,但尚未安装,也无法安装在我的共享

  • 我正在使用Postman测试一个视图,该视图应该允许用户下载excel文件。这是视图。。 问题是,当我测试这个视图时,我无法从postman那里获得下载提示。相反,我从邮递员的回复中得到了损坏的数据。以下是一个示例输出: 为什么我不能下载文件?我错过了什么吗?

  • 我将nginx作为带有PHP-fpm的web服务器。我可以成功地看到我的网站使用http,但如果我使用https,我将下载索引页面,页面将不会显示。 我的nginx.conf 和conf.d/default。形态

  • 问题内容: 我正在使用php下载文件,而不是在新窗口中打开文件本身。对于较小的文件似乎可以正常工作,但对于较大的文件则无法工作(我需要在大型文件上使用)。这是我必须下载文件的代码: 但是,当我尝试下载大文件(例如265mb)时,浏览器告诉我找不到文件吗?文件一定在服务器上,脚本对于较小的文件也可以正常工作。有什么方法可以下载类似于我已有的大文件? 问题答案: PHP对脚本可以运行多长时间以及可以使

  • 问题内容: 我正在使用简单的文件下载脚本: 它在最大200mb的本地服务器上运行。 当我在我的网站上尝试此代码时,它将下载173KB而不是200MB的文件。 我检查了所有内容,编写了一些自定义代码(使用ob函数和fread而非readfile),但无法下载大文件。 谢谢您的回答。 我正在使用Apache 2.2,PHP 5.3 可以处理所有大文件的所有PHP设置。(执行时间,内存限制,… 问题答案

  • 问题内容: 操作系统和服务器信息: CentOS 6.4(最终版) 阿帕奇2.2.15 PHP 5.5.1 我以前安装了php 5.3.x,但决定升级。我首先卸载了php 5.3.x,然后安装了php 5.5.1,但是在安装完成后apache并没有解析php文件,只是下载了它们。我在这里检查了stackoverflow中的类似问题,但到目前为止,它们都没有帮助我。 作为记录,我在httpd.con