0


0

DBの現在のスナップショットを取得し、同じPHPスクリプトでFTPに送信:アドバイスが必要

この方法でできるかどうかはわかりません。 データベースの現在のスナップショットを取得してFTPサーバー経由で送信したいのですが、この機能は両方ともPHPスクリプトで実装する必要があります。

ここに私が今考えているステップがあります。

私のPHPスクリプト(基本的にはPaoをDaoクラスに拡張してからクエリを準備しています)、

 $qry = SELECT * FROM MyTablename;
 $stmt = $this->prepare($qry);
 $stmt = $this->execute();

ここで、 fputcsv`を使用して $ stmt`をcsvファイルに保存するか、スクリプト自体から sql`コマンドを実行して、結果を $ file(csv file) `に保存しようとします。この時点でcsvファイルを持っていません基本的に私はそれを作成し、その `$ file`を言わなければならないので、

$file = fputcsv($stmt); or $file = exec("Select * from MyTablename");

これはすべてのレコードをファイルに入れますか? はいの場合は、FTP機能を使用してファイルをFTPフォルダーに転送します。

このアプローチがうまくいくかどうか、また「$ qry」を準備する必要性について懸念がある

アドバイスやさまざまなアプローチをお勧めします。

ありがとうございます。

1 Answer


1


このようなことを試してください:

mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
mysql_select_db($dbname);
$list = array();
$q = mysql_query("SELECT * from table");

while($row = mysql_fetch_assoc($q)){
    $list[] = $row;
    }
$fp = fopen("file.csv", 'w+');
foreach ($list as $line) {
    fputcsv ($fp, implode(',', $line));
}

次に試してください:

$conn_id = ftpconnect('host',21);
$login_result = ftp_login($conn_id, 'user_name', 'user_pass');
ftp_fput($conn_id, 'file.csv', $fp, FTP_ASCII);

ftp_close($conn_id);
fclose($fp);

私はテストせずにコードを書きますが、そのようなものでなければなりません;)

がんばろう。