不确定我是否可以这样做。我想获取数据库的当前快照并通过FTP服务器发送,这两个功能都应该在PHP脚本中实现。
以下是我正在考虑的步骤。
在我的php脚本中(基本上是将PDO扩展到我的Dao类然后准备查询),
$qry = SELECT * FROM MyTablename;
$stmt = $this->prepare($qry);
$stmt = $this->execute();
现在我将使用$stmt
将fputcsv
存储在csv文件中,或者我将从脚本本身执行sql
命令,然后尝试将结果存储在$file(csv file)
中请注意,此时我没有任何csv文件,基本上我必须创建一个,然后让它说$file
,然后
$file = fputcsv($stmt); or $file = exec("Select * from MyTablename");
这会将所有记录都放在文件中吗?如果是,那么我将使用FTP功能将文件传输到FTP文件夹。
我不确定这种方法是否有效,并且还担心需要准备$qry
建议的任何建议或不同方法都将受到高度赞赏。
谢谢!!!
答案 0 :(得分: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);
我编写的代码没有测试它,但应该是这样的;)
祝你好运。