Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
文件名feed1.xls在php中不可读_Php_Excel_Zend Framework - Fatal编程技术网

文件名feed1.xls在php中不可读

文件名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在我的项目顶部这样做

嗨,我想用zend framework解析excel文件。我找到了一个下载的解决方案。我在localhost上下载了设置项目的代码并运行了该代码。当我尝试读取
.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');
}