0

我想下载文件 .xls 然后将其上传到数据库 oracle。但我收到一个错误“文件名 .xls 不可读”。

下面是我的脚本:

               <? require_once (dirname(__FILE__)."/upload/upBc.php");

               if(!empty($_FILES["file"])){
                    echo $file = $_FILES["file"];
               }else{
                  /*$file = "/opt/lampp/htdocs/avar/pp/ccr/test.xls";*/
                     $file = '/www.upload.com/pm_ms/test.xls';
               /* $file = "website_data_".  date('ymd').".xls";*/



               }
                    $upload = new upload();
                    $upload->setFile($file);
                    $upload->getFileType();
                    $upload->getFileName();
                    $upload->getFileDir();
                    $upload->readDataTbc();
                    $dataD = array ();
                    $dataD = $upload->getDataTbc();
                        echo "<table border = 1>";
                        for($i=1;$i < count($dataD);$i++){
                            echo "<tr>";
                            for($j=0;$j < $upload->getHSize();$j++){
                                echo "  <td>".$dataD[$i][$j]."</td>";
                            }
                            echo"</tr>";
                          }
                          echo"</table>";
                          echo"data length=". count($dataD);
                          $upload->commitDataTbc();


       ?>

如果我使用$file = "/opt/lampp/htdocs/avar/pp/ccr/test.xls";. 在我的程序中它可以工作,但如果我使用$file = '/www.upload.com/pm_ms/test.xls';. 我收到错误文件名 test.xls 不可读

4

1 回答 1

0

那可能是因为/www.upload.com/您的服务器上不存在。

你知道文件的实际路径吗?通过在 URI 上加上前缀/this 使其成为绝对值,这意味着它试图从/www.upload.com您的服务器上逐字读取。如果你想让这个相对,你可以尝试./upload.com/或简单地upload.com/作为路径前缀。

但是,如果您尝试从网站 upload.com(而不是服务器中的文件夹)加载它,您有两种选择:

  1. (如果支持)将文件名设置为 URL,即。$file = 'http://www.upload.com/pm_ms/test.xls';
  2. 下载文件,然后在本地打开它。

对于#2:

$file = 'test.xls';
$ctnts = file_get_contents('http://www.upload.com/pm_ms/test.xls');
file_put_contents($file, $ctnts);
于 2012-05-23T10:46:50.550 回答