Mon problème est le suivant: je génère un fichier txt (c'est tout bon, mon code de base télécharge le fichier txt sur mon ordinateur) qui doit être enregistré dans un dossier sur un serveur distant (là est mon problème).
Voici mon code ci-dessous.
Le test de connexion au serveur distant fonctionne!
Mais comment écrire mon fichier filename=\"ACH0001".date("YmdHis").".txt\" qui a comme contenu $outputCsv dans le dossier $downloadFolder = '/Aller/' sur le serveur distant $ftp_host ?
Merci d'avance
<?php
include "config.inc.php";
// la variable qui va contenir les données CSV
$outputCsv = '';
///////////////////////// VALEURS Society ET SiteCode A CHANGER ////////////////////////////////////
$requete = "SELECT CheckID, CheckValor, StatutID, CustomerNumber, Society, SiteCode, SiteCountry FROM base WHERE StatutID = 'U' AND Society = '1' AND SiteCode = '000' AND SiteCountry = 'CH'";
$sql = mysql_query($requete);
if(mysql_num_rows($sql) > 0)
{
$i = 0;
while($Row = mysql_fetch_array($sql))
{
$i++;
$ID = $Row[CheckID];
$val = sprintf('%09u',$Row[CheckValor]*100);
$statut = $Row[StatutID];
$cnumber = sprintf('%010u',$Row[CustomerNumber]);
$soc = $Row[Society];
$code = $Row[SiteCode];
$country = $Row[SiteCountry];
$outputCsv .= "$ID$val$statut$cnumber$soc$code$country\n";
}
}
else
exit('');
/// DONNEES
$Date= date("Y-m-j H:i:s");
session_cache_limiter('none'); //*Use before session_start()
session_start();
$file = $outputCsv;
$ftp_user = ("Voucher");
$ftp_pass = ("redoute");
$ftp_host = ("212.243.55.109");
$downloadFolder = '/Aller/';
$filename= ("ACH0001".date("YmdHis").".txt");
/// Ecriture du fichier
header("Content-disposition: attachment; filename=\"ACH0001".date("YmdHis").".txt\"");
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: application/vnd.ms-excel\n");
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
header("Expires: 0");
$file = 'ACH0001'.date("YmdHis").'.txt';
$fp = fopen($file, 'r');
///// Connexion au serveur distant
$ftp_server = $ftp_host;
// Mise en place d'une connexion
$conn_id = ftp_connect($ftp_server) or die("Impossible de se connecter au serveur $ftp_server");
// Tentative d'identification
if (@ftp_login($conn_id, $ftp_user, $ftp_pass))
{
// Tente de charger le fichier $file
if (ftp_fput($outputCsv)
{
echo "Chargement avec succès du fichier \n";
}
else
{
echo "Il y a eu un problème lors du chargement du fichier\n";
}
}
else
{
echo "Connexion impossible en tant que $ftp_user\n";
}
// Fermeture de la connexion et du pointeur de fichier
ftp_close($conn_id);
fclose($fp);
//// Connexion au serveur distant
echo $outputCsv;
exit();
?>