シルベスターアントゥロザリオ:
私は、外部のFTPサーバに、私は基本的なftp_fputを()に追従しようとしたCSVファイルを更新しようとしているが、それは働いていません。ファイルが更新されていないと私は必要とされていない、このスクリプトを実行するときにも、ブランクCSVファイルがダウンロードされます。私はこの問題を解決しようとしてきたが、解決策を見つけることができません
<?php
// connect and login to FTP server
//ftp setup
$ftp_server = "ftp.test.test.co.uk";
$ftp_conn = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
$ftp_username='ftp_username';
$ftp_userpass='ftp_userpass';
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);
//local DB setup
$servername = "localhost";
$username = "root";
$password = "TEST";
$dbname= "TEST";
// Create connection
$conn = new mysqli($servername, $username, $password,$dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//END database connection//
$sql = "SELECT sku,SUM(quantity) as quantity FROM tbl_old_books GROUP BY isbn";
$result = $conn->query($sql);
header("Content-Disposition: attachment; filename=AllOpenOrders.csv");
header("Content-Type: application/csv; ");
// file creation
$file = fopen('php://temp', 'W');
$header = array("SKU","QUANTITY");
fputcsv($file, $header);
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
fputcsv($file, $row );
}
}
$remote_path = "/export/AllOpenOrders.csv";
ftp_fput($ftp_conn, $remote_path, $file, FTP_BINARY, 0);
fclose($file);
ftp_close($ftp_conn);
?>
ジョフリー・シュミッツ:
あなたは、ハンドラファイルを$file
、あなたがそれに書いているファイルの末尾にポイントを。経由して、書き込みに左は何もありませんftp_fput
。
あなたはとのファイルの先頭にあなたのファイルポインタをリセットすることができますrewind($file);
FTPに書き込む前に:巻き戻しのドキュメントを