使用PHPExcel,我想从互联网上读取文件。PHPExcel 库似乎只适合打开本地文件,而不是 URL。这是我尝试过的:
<?php
require __DIR__ . '/vendor/autoload.php';
$string = file_get_contents('http://opendatakit.org/wp-content/uploads/static/sample.xls');
$stream = fopen('php://memory','r+');
fwrite($stream, $string);
rewind($stream);
$objPHPExcel = PHPExcel_IOFactory::load('php://memory');
这是我收到的错误:
致命错误:未捕获的异常 'PHPExcel_Reader_Exception' 带有消息'无法打开 php://memory 进行阅读!文件不存在。'
我还尝试直接传递 URL ( PHPExcel_IOFactory::load('http://opendatakit.org/wp-content/uploads/static/sample.xls')
)。类似的错误。
致命错误:未捕获的异常“PHPExcel_Reader_Exception”带有消息“无法打开 http://opendatakit.org/wp-content/uploads/static/sample.xls进行阅读!文件不存在。'
编辑:还尝试了一个临时文件
$string = file_get_contents('http://opendatakit.org/wp-content/uploads/static/sample.xls');
$temp = tmpfile();
fwrite($temp, $string);
fseek($temp, 0);
$objPHPExcel = PHPExcel_IOFactory::load($temp);
这次不同的错误:
警告:pathinfo() 期望参数 1 是字符串,在第 224 行的 /project/vendor/phpoffice/phpexcel/Classes/PHPExcel/IOFactory.php 中给出的资源
警告:file_exists() 期望参数 1 是有效路径,资源在第 81 行的 /project/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007.php 中给出
致命错误:未捕获的异常“PHPExcel_Reader_Exception”带有消息“无法打开资源 ID #10 进行阅读!文件不存在。'