使用了PHPExcel做excel的导入数据到mysql的功能,但是代码运行到加载excel文件地址的时候就会报http 500错误,有知道怎么解决这个问题的吗?谢谢!
function daoru(){
//echo "in";exit;
require_once 'Classes/PHPExcel.php';
require_once 'Classes/PHPExcel/IOFactory.php';
require_once 'Classes/PHPExcel/Reader/Excel5.php';
$objPHPExcel = new PHPExcel();//这行也是百度来的,加上或去掉暂时没有什么影响。
$file_url=$_GET['file'];
//$objReader = PHPExcel_IOFactory::createReader('excel2007' );当把导入文件的格式改为这行xlsx时,运行到此处就会报错。使用xls格式,可以继续运行到下一行。
$objReader=PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel=$objReader->load($file_url);//运行到这一行就会报http500错误$file_url的路径是通过get来获取地址栏中的地址的,获取地址:...&file=http://www.abc.com/uploads/2016/10/080857458718.xlsx
谢谢大家提供解决思路或者有别的可行的方法来实现导入excel数据这一功能吗?
源代码参考地址:http://www.jb51.net/article/42398.htm

解决方案 »

  1.   

    500 是服务器拒绝响应。打开 php 的错误显示功能,一般都能看到错误的原因。不要自己给自己找麻烦require_once 'Classes/PHPExcel/IOFactory.php';
    $objPHPExcel = PHPExcel_IOFactory::load($filenname);
    不需要专门指定类型PHPExcel 不支持远程读取,因为他内部有个 bug。需要自己改一下
      

  2.   

    谢谢!
    改成了$objPHPExcel = PHPExcel_IOFactory::load($filenname);
    &file=/uploads/2016/10/010932368878.xls 不知道这种形式的路径phpexcel支持吗?
    我在本地调试,网站目录的uploads文件夹总是只读状态,改不了权限。上传ftp后,从ftp上可以改写文件夹的只读为读写,但是报错仍然是不可读取文件怎么办呢... 忘赐教,谢谢!
    Fatal error: Uncaught exception 'PHPExcel_Reader_Exception' with message 'Could not open /uploads/2016/10/010932368878.xls for reading! File does not exist.' 
    文件确实是存在的。
      

  3.   

    非常感谢1楼的帮助。
    http://www.thinkphp.cn/topic/5025.html
    关键性的问题解决了,是路径的原因。
    使用./形式的相对路径,就可以了,希望未来大家遇到同样的问题可以从路径方面去查一下。使用http://形式的是不被支持的。
    /形式的也不可以。我在源代码上加了一个.就可以了。
    再次感谢。