用于将pdf文件发送到服务器的Php脚本

用于将pdf文件发送到服务器的Php脚本,php,Php,第一次在这里发布。我正在尝试编写一个PHP脚本,它将复制某些pdf文件并将其发送到服务器。我有一个查询,它将从中提取需要发送的PDF的ID号。现在我不知道脚本是否连接不正确,或者脚本是否没有获取任何内容。另外,我在脚本底部做了一个检查测试,以查看PDF是否已成功发送。任何帮助都将不胜感激。 注意:我收到一个错误“注意:未定义的偏移量”行:Zend_Db_Table::getDefaultAdapter()->更新(“传输”,数组(“传输状态”=>0),数组(“id=?”=>id[0]) 当然,首

第一次在这里发布。我正在尝试编写一个PHP脚本,它将复制某些pdf文件并将其发送到服务器。我有一个查询,它将从中提取需要发送的PDF的ID号。现在我不知道脚本是否连接不正确,或者脚本是否没有获取任何内容。另外,我在脚本底部做了一个检查测试,以查看PDF是否已成功发送。任何帮助都将不胜感激。 注意:我收到一个错误“注意:未定义的偏移量”行:Zend_Db_Table::getDefaultAdapter()->更新(“传输”,数组(“传输状态”=>0),数组(“id=?”=>id[0])


当然,首先要做的是找出脚本是否没有获取任何内容,或者它是否没有正确连接?究竟发生了什么不应该发生的事情,还是不应该发生的事情?您建议存在问题,但不说明问题是什么。并且,您使用
$sftp
打开服务器进行写入,但不在任何地方定义它。略微O/t,但如果我是您,我会在FTP服务器上打开源文件之前检查源文件是否存在。埃塔-哦,我看到你在FTP打开之前做了检查。当然,首先要做的是找出脚本是否没有获取任何内容,或者它是否没有正确连接?究竟发生了什么不应该发生的事情,还是不应该发生的事情?您建议存在问题,但不说明问题是什么。并且,您使用
$sftp
打开服务器进行写入,但不在任何地方定义它。略微O/t,但如果我是您,我会在FTP服务器上打开源文件之前检查源文件是否存在。埃塔-哦,我看到你在FTP打开之前做了检查。之后。
    public function transfertoAction(){
     $time_start = microtime(true);
            $errors = array();
            $data = Zend_Db_Table::getDefaultAdapter()->fetchAll("
                    SELECT id
                    FROM transfers
                    LIMIT 1
                    ");

                foreach ($data as $id) {
                    $srcBookChapter = "/var/www/sites/CDN/pdfs/$id.pdf";

                    $dstBookChapter = "/name/wheretopaste";

                    $ftpUsername = "username";
                    $ftpUserpass = "userpass";
                    $ftpServer = "server";
                    $ftpPort = "22";

                    $connection = ssh2_connect($ftpServer, $ftpPort);
                    ssh2_auth_password($connection, $ftpUsername, $ftpUserpass);



                    try {

                        if (!file_exists($srcBookChapter)) {
                            throw new Exception("Could not find file: $srcBookChapter");
                        }

                        $sftpStream = fopen("ssh2.sftp://".$sftp.$dstBookChapter, 'w');

                        if (!$sftpStream) {
                            throw new Exception("Could not open remote file: $dstBookChapter");
                        }

                        if (!file_exists($srcBookChapter)) {
                            throw new Exception("Could not find file: $srcBookChapter");
                        }

                        $data_to_send = file_get_contents($srcBookChapter);

                        if ($data_to_send === false) {
                            throw new Exception("Could not open local file: $dstBookChapter.");
                        }

                        if (fwrite($sftpStream, $data_to_send) === false) {
                            throw new Exception("Could not send data from file: $dstBookChapter.");
                        }

                        Zend_Db_Table::getDefaultAdapter()->update("transfers", array("transfer_status" => 1), array("id = ?" => $id[0]));
                        fclose($sftpStream);

                    } catch (Exception $e) {

                        Zend_Db_Table::getDefaultAdapter()->update("transfers", array("transfer_status" => 0), array("id = ?" => $id[0]));
                        $error = ('Exception: ' . $e->getMessage());
                        $errors[] .= $error;

                    }

        }

        $time_end = microtime(true);
        $time = $time_end - $time_start;
        zdd('Finished in ' . $time . ' seconds');
        zddd('Done');
}