SQLSTATE [HY000] [14]无法在FTP服务器上打开数据库文件

时间:2016-09-09 08:45:23

标签: php sqlite ftp

我能够打开本地数据库文件。但是,我无法使用ftp打开服务器上的文件。

以下是我列出文件的方式。访问文件是成功的,如果我回显$ftpcontents[$i]它可以列出文件名

for ($i = 0 ; $i < count($ftpcontents); $i++){
 if (strripos($ftpcontents[$i],".db")==true) {
    $thefiles[$countdirfiles] = $ftpcontents[$i];
    $countdirfiles++;
 }

}

连接到sqlite

try {

    $file_db = new PDO('sqlite:'.$thefiles[$i]);
    $file_db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sql = $selectquery." main.".$tablename." ".$groupquery." ";;

    $result = $file_db->query($sql);
    $file_db = null;

}
catch(PDOException $e) {
    echo $e->getMessage();
}

这是我收到的错误消息

  

SQLSTATE [HY000] [14]无法打开数据库文件

2 个答案:

答案 0 :(得分:0)

创建一个属性:

private $file_db;
try{
    if($file_db==null){
      $file_db; =new PDO('sqlite:'.$thefiles[$i]);
    }
    return $this->$file_db;
}catch(PDOException $e){
    logerror($e->getMessage(), "opendatabase");
    print "Error in openhrsedb ".$e->getMessage();
} }

答案 1 :(得分:0)

文件传输协议(FTP)是一种标准网络协议,用于在计算机网络上的客户端和服务器之间传输计算机文件。 FTP建立在客户端 - 服务器模型体系结构之上,并在客户端和服务器之间使用单独的控制和数据连接。

FTP只能用于上传或下载文件。

我们无法直接从FTP打开文件