我在使用文件上传程序上传文件时效果最佳。
if (isset($_FILES['file'])) {
require_once "simplexlsx.class.php";
$xlsx = new SimpleXLSX( $_FILES['file']['tmp_name'] );
...
list($cols, $rows) = $xlsx->dimension();
...
}
但是,现在我想进一步自动化它。我希望自动从定义的路径中获取文件,而不是手动上传它们。到目前为止,我已经提出了以下代码,但它不起作用,
$dir = '../data/';
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
IF(strlen($file)>2) {
echo $file."<br/>";
$dirfile= "{$dir}{$file}";
echo $dirfile;
$filedata = file_get_contents($dirfile);
require_once "simplexlsx.class.php";
//$xlsx = new SimpleXLSX( $_FILES['file']['tmp_name'] );
$xlsx = new SimpleXLSX('{$filedata}');
...
list($cols, $rows) = $xlsx->dimension();
...
我不确定,传递给SimpleXLSX函数的是什么,而不是$ _FILES [&#39; file&#39;] [&#39; tmp_name&#39;]。以下内容根本没有帮助。
之前: $ xlsx =新的SimpleXLSX($ _FILES [&#39;文件&#39;] [&#39; tmp_name&#39;]);
之后: $ xlsx =新的SimpleXLSX(&#39; {$ filedata}&#39;);
答案 0 :(得分:1)
我刚修复它,它期待文件路径作为参数。以下是正确的行,最初我正在尝试这个,但附加单引号。
$xlsx = new SimpleXLSX({$dirfile});
//where $dirfile = '../data/test.xlsx'