Я пытаюсь сгенерировать файл CSV и отправить его на учетную запись FTP.
Моя проблема заключается в заполнении файла CSV.
Этот код работает хорошо, но я могу передать только строку в $ Ф.П. .Когда я пытаюсь использовать массив, файл поступает на учетную запись ftp пустым.
Я не могу понять, почему.
Кроме того, я сейчас пытаюсь передать массив только для проверки, нолучше всего для меня будет возможность использовать объект, как я могу сгенерировать этот файл?
function ftp_file_put_contents($remote_file, $file_string) {
// FTP login details
$ftp_server="ftp.xxx.it";
$ftp_user_name="xxx@xx.it";
$ftp_user_pass="xxxx";
// Create temporary file
$local_file = fopen('php://temp', 'r+');
fwrite($local_file, $file_string);
rewind($local_file);
// FTP connection
$ftp_conn=ftp_connect($ftp_server);
// FTP login
@$login_result=ftp_login($ftp_conn, $ftp_user_name, $ftp_user_pass);
// FTP upload
if($login_result)
$upload_result=ftp_fput($ftp_conn, $remote_file, $local_file, FTP_ASCII);
// Error handling
if(!$login_result) {
echo('<p>FTP error: The file could not be written to the FTP server perche $login_result.</p>');
} elseif (!$upload_result) {
echo('<p>FTP error: The file could not be written to the FTP server perche $upload_result.</p>');
} else {
echo('<p>good</p>');
echo $file_string;
}
// Close FTP connection
ftp_close($ftp_conn);
// Close file handle
fclose($local_file);
}
$Fname = 'invoce.csv';
$list = array (
array('aaa', 'bbb', 'ccc', 'dddd'),
array('123', '456', '789'),
array('"aaa"', '"bbb"')
);
$fp = fopen($Fname, 'w');
foreach ($list as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
// Function call
ftp_file_put_contents($Fname, $fp);