文件名feed1.xls在php中不可读
嗨,我想用zend framework解析excel文件。我找到了一个下载的解决方案。我在localhost上下载了设置项目的代码并运行了该代码。当我尝试读取文件名feed1.xls在php中不可读,php,excel,zend-framework,Php,Excel,Zend Framework,嗨,我想用zend framework解析excel文件。我找到了一个下载的解决方案。我在localhost上下载了设置项目的代码并运行了该代码。当我尝试读取.xlsx文件时,它会生成一个错误 The filename feed1.xlsx is not readable 我以.xls格式保存了该文件,并成功运行代码解析文件。现在我想在我在Zend framework中开发的项目中实现这一点。我创建了一个模型,在我的项目中,require\u onceexcelreader在我的项目顶部这样做
.xlsx
文件时,它会生成一个错误
The filename feed1.xlsx is not readable
我以.xls
格式保存了该文件,并成功运行代码解析文件。现在我想在我在Zend framework
中开发的项目中实现这一点。我创建了一个模型,在我的项目中,require\u 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>';
}
}
require_once'Excelreader/Excel/reader.php';
类ExcelreaderModel扩展Zend_Db_表
{
函数readFile()
{
$data=新的电子表格\u Excel\u阅读器();
//设置输出编码。
$data->setOutputEncoding('CP1251');
//$data->read('Excelreader/Excel/feed1.xls');
$data->read('feed1.xls');
回声';
打印(数据);
回声';
}
}
我在控制器中调用了这个模型函数。但它产生的错误与我使用.xlsx
文件在localhost上发现的相同。但我正在阅读.xls
文件,该文件由运行在本地主机上simple project的代码解析。我还在本地主机上运行zend framework
我的代码有什么问题?或者是否有任何方法可以完成相同的任务?据我所知,您看到的错误是由以下代码行设置的:
if (file_exists($sFileName))
{
...
}else{
die('The file ' . $sFileName . ' was not found');
}
出于这样或那样的原因,它无法读取您提供的文件,原因可能是权限/用户问题,或者文件路径错误
如果您在*nix服务器上,则应确保运行Web服务器的用户具有读取excel文件的权限。web服务器可能是以与文件所有者不同的用户身份运行的。您还可以尝试将权限设置为666
如果只是找不到文件,提供完整路径可能会有所帮助,(例如,
$data->read('/usr/local/apache2/htdocs/Excelreader/feed1.xls');
我认为问题在于.xlxs
文件的编码类型,而不是设置文件权限。如果更改权限,它将不适用于您。问题在于OLE\u标识符(��ࡱ�)代码>
因此,您的文件数据必须以��ࡱ�代码>数据。就连我也在为此寻找合适的解决方案。有人能帮忙吗???错误肯定会更具描述性。我在read()函数中添加了一个包装器,如下所示:
果然,我一直在找错误的目录!!php文件头中的mb\u内部编码(“8bit”)
帮了我的忙。请将您的xlsx文件转换为xls,它会工作:)
它对我有用,你可以试试。如果你使用的是电子表格Excel阅读器,那么phpexcel标记不合适……phpexcel是一个特定的库,它不是电子表格Excel阅读器库,电子表格Excel阅读器也不会读取.xlsx文件……你真的将原始.xlsx文件保存为Excel95.xls,还是简单地将其重命名?@MarkBaker我正在将原始文件保存为.xls格式。还有其他解决方案吗?如果没有更多的信息(尤其是没有该文件),很难判断是否有解决方案……s_E____R现在非常过时,不受支持,我自己的知识领域是在其他库中阅读Excel文件(最具体的是PHPExcel)如果您有一个单独的问题(如果事件类似),请为其创建一个单独的问题。您是否找到此问题的解决方案。是否有相同的问题
if (file_exists($sFileName))
{
...
}else{
die('The file ' . $sFileName . ' was not found');
}