替换"手动上传文件"从"定义的目录中获取文件"

时间:2015-12-23 14:46:05

标签: php file-upload xlsx

我在使用文件上传程序上传文件时效果最佳。

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;);

1 个答案:

答案 0 :(得分:1)

我刚修复它,它期待文件路径作为参数。以下是正确的行,最初我正在尝试这个,但附加单引号。

$xlsx = new SimpleXLSX({$dirfile});
//where $dirfile = '../data/test.xlsx'