Maison > développement back-end > tutoriel php > 使用PHPEXCEL读取网络文件

使用PHPEXCEL读取网络文件

WBOY
Libérer: 2016-06-23 14:19:18
original
2497 Les gens l'ont consulté

读取本地文件没问题。换成读取web文件
Could not open xxx.xls for reading! File does not exist.

file_exists报错。 如果改成file_get_contents()  取出的数据又不正常。求解决方案


回复讨论(解决方案)

他本身就是用 file_get_contents 的

        public function read($sFileName)        {                // Check if file exists and is readable                if(!is_readable($sFileName)) {                        throw new Exception("Could not open " . $sFileName . " for reading! File does not exist, or it is not readable.");                }                // Get the file data                $this->data = file_get_contents($sFileName);
Copier après la connexion

老大。
是先 
if (!file_exists($pFilename)) {
throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
}

这里就报错  我加了句 !file_exists($pFilename) && ! file_get_contents('xxx')

这里不报错了 。
紧接着下面执行
$ole = new PHPExcel_Shared_OLERead();

// get excel data
$res = $ole->read($pFilename);

这里是read方法
if(!is_readable($sFileName)) {
throw new PHPExcel_Reader_Exception("Could not open " . $sFileName . " for reading! File does not exist, or it is not readable.");
}

这里就又报错了。没看到$this->data = file_get_contents($sFileName); 请问这个在哪 没搜到。。莫非版本改了?

不错,我说的 file_get_contents 不就在你第二处报错的下面吗?

file_get_contents 可以安全的处理二进制文件,所以可以用 file_get_contents 读取excel文件

但如果是远程读取的话,由于网络和对方的原因,失败的概率还是蛮大的
还是应该先读回到本地临时文件比较稳妥

哎。看来要改代码了。PHPExcel能直接读取成数组处理。 用file_get_contents只能搞成字符串。 在逻辑处理上全部都要改正

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal