par
sebastien.lelarge » 16 déc. 2015, 11:10
Bonjour à tous,
j'ai dernièrement mis en place un script php qui génère un fichier csv.
ce script fonctionne très bien lorsque je l'appelle dans un navigateur.
J'ai ensuite demandé à ma DSI de programmer un cron : résultat ça ne fonctionne pas !
du coup plusieurs interrogations ? ai je oublié quelque chose dans mon script ?
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// la variable qui va contenir les données CSV
$outputCsv = '';
// Nom du fichier final
$fileName = 'villes_'.date('Y_m_d').'.csv';
$requete = "requete")
";
$sql = mysql_query($requete);
if(mysql_num_rows($sql) > 0)
{
$i = 0;
while($Row = mysql_fetch_assoc($sql))
{
$i++;
// Si c'est la 1er boucle, on affiche le nom des champs pour avoir un titre pour chaque colonne
if($i == 1)
{
foreach($Row as $clef => $valeur)
$outputCsv .= trim($clef).';';
$outputCsv = rtrim($outputCsv, ';');
$outputCsv .= "\n";
}
// On parcours $Row et on ajout chaque valeur à cette ligne
foreach($Row as $clef => $valeur)
$outputCsv .= trim($valeur).';';
// Suppression du ; qui traine à la fin
$outputCsv = rtrim($outputCsv, ';');
// Saut de ligne
$outputCsv .= "\n";
}
}
else
exit('Aucune donnée à enregistrer.');
// Entêtes (headers) PHP qui vont bien pour la création d'un fichier Excel CSV
// header("Content-disposition: attachment; filename=".$fileName);
// 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_put_contents("FICHIERS/$fileName", $outputCsv);
echo $outputCsv;
exit();
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Bonjour à tous,
j'ai dernièrement mis en place un script php qui génère un fichier csv.
ce script fonctionne très bien lorsque je l'appelle dans un navigateur.
J'ai ensuite demandé à ma DSI de programmer un cron : résultat ça ne fonctionne pas !
du coup plusieurs interrogations ? ai je oublié quelque chose dans mon script ?
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// la variable qui va contenir les données CSV
$outputCsv = '';
// Nom du fichier final
$fileName = 'villes_'.date('Y_m_d').'.csv';
$requete = "requete")
";
$sql = mysql_query($requete);
if(mysql_num_rows($sql) > 0)
{
$i = 0;
while($Row = mysql_fetch_assoc($sql))
{
$i++;
// Si c'est la 1er boucle, on affiche le nom des champs pour avoir un titre pour chaque colonne
if($i == 1)
{
foreach($Row as $clef => $valeur)
$outputCsv .= trim($clef).';';
$outputCsv = rtrim($outputCsv, ';');
$outputCsv .= "\n";
}
// On parcours $Row et on ajout chaque valeur à cette ligne
foreach($Row as $clef => $valeur)
$outputCsv .= trim($valeur).';';
// Suppression du ; qui traine à la fin
$outputCsv = rtrim($outputCsv, ';');
// Saut de ligne
$outputCsv .= "\n";
}
}
else
exit('Aucune donnée à enregistrer.');
// Entêtes (headers) PHP qui vont bien pour la création d'un fichier Excel CSV
// header("Content-disposition: attachment; filename=".$fileName);
// 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_put_contents("FICHIERS/$fileName", $outputCsv);
echo $outputCsv;
exit();
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++