【发布时间】:2017-10-05 21:13:29
【问题描述】:
我有以下代码:
require_once "../vendor/autoload.php";
require_once '../vendor/phpoffice/phpexcel/Classes/PHPExcel/IOFactory.php';
$target_dir = "coverImages/";
$target_file = $target_dir . basename($_FILES["excelfile"]["name"]);
move_uploaded_file($_FILES["excelfile"]["tmp_name"], $target_file);
if ($_FILES["excelfile"]["error"] > 0)
{
echo "Error: " . $_FILES["excelfile"]["error"] . "<br>";
}
else
{
if (file_exists($target_file)) {
echo "file exists!";
}else{
echo "oh it does not";
}
$objPHPExcel = PHPExcel_IOFactory::load($target_file);
}
我正在从输入文件中获取文件。我正在将文件移动到我的服务器上的某个位置。但是一旦我移动了文件,我就无法加载它。我正在验证文件是否存在,但是当我在工厂调用 load 并给我一个 500 错误时,phpoffice 不会抓取我的文件。任何建议都可以帮助我,在此先感谢。
编辑:返回错误:
致命错误:未捕获的错误:找不到类“ZipArchive” /app/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007.php:94 堆栈跟踪:#0 /app/vendor/phpoffice/phpexcel/Classes/PHPExcel/IOFactory.php(268): PHPExcel_Reader_Excel2007->canRead('coverImages/Boo...') #1 /app/vendor/phpoffice/phpexcel/Classes/PHPExcel/IOFactory.php(191): PHPExcel_IOFactory::createReaderForFile('coverImages/Boo...') #2 /app/public/upload_file.php(26): PHPExcel_IOFactory::load('coverImages/Boo...') #3 {main} 抛出 /app/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007.php 在第 94 行
不知道为什么会出现错误,在我正在调用的 dockerfile 中:
RUN apt-get update && \
apt-get install -y \
freetds-dev \
libsybdb5 \
wget \
zip
所以应该安装 zip。
【问题讨论】:
-
您是否尝试设置 display_errors? stackoverflow.com/questions/1053424/…
-
当您从服务器获得 500 时,您通常会发现写入服务器日志的内容将确定问题的原因
-
在上面添加了一个编辑,在 zipArchive 上搜索答案。谢谢。