Awa*_*rni 6 php excel zend-framework
嗨,我想使用zend框架解析excel文件.我去了Zend Developer Zone并找到了一个下载phpexcelreader的解决方案.我在localhost下载了代码集项目并运行代码.当我想读取.xlsx文件时会产生错误
The filename feed1.xlsx is not readable
Run Code Online (Sandbox Code Playgroud)
我以.xls格式保存文件并运行成功解析文件的代码.现在我想在我开发的项目中实现这一点Zend framework.我创建了一个模型,在我的项目中,require_once像我这样在我的项目顶部编写了excelreader.
require_once 'Excelreader/Excel/reader.php';
class ExcelreaderModel extends Zend_Db_Table
{
function readFile()
{
$data = new Spreadsheet_Excel_Reader();
// Set output Encoding.
$data->setOutputEncoding('CP1251');
//$data->read('Excelreader/Excel/feed1.xls');
$data->read('feed1.xls');
echo '<pre>';
print_r($data);
echo '</pre>';
}
}
Run Code Online (Sandbox Code Playgroud)
我在我的控制器中调用了这个模型函数.但是它产生了我在localhost上使用.xlsx文件发现的相同错误.但是我正在读取.xls由localhost上的简单项目运行的代码解析的文件.我也在本地运行zend框架.
我的代码有什么问题?或者有什么办法可以完成同样的任务.
小智 6
我认为问题在于.xlxs文件的编码类型而不是设置文件权限。如果您更改权限,它将对您不起作用。问题在OLE_IDENTIFIER (????).
所以你的文件数据必须以????数据开头。甚至我也在为此寻找合适的解决方案。有人可以帮忙吗??
据我所知,您看到的错误是由这行代码设置的:
if(!is_readable($sFileName)) {
$this->error = 1;
return false;
}
Run Code Online (Sandbox Code Playgroud)
由于某种原因,它无法读取您提供的文件,要么是因为存在权限/用户问题,要么是文件的路径错误。
如果您使用 *nix 服务器,则应确保运行 Web 服务器的用户有权读取 excel 文件。Web 服务器可能以与文件所有者不同的用户身份运行。您也可以尝试将权限设置为666。
如果只是找不到文件,提供完整路径可能会有所帮助(例如$data->read('/usr/local/apache2/htdocs/Excelreader/feed1.xls');