Bonjour,
Je me permet de vous demander un conseil sur la fonction exec() de PHP.
Je suis sous Ubuntu 9.10 avec Apache, PHP et MySQL d'installer. Je souhaite exécuter une commande linux via PHP.
Voici cette commande :
xls2csv -q 0 ./excel/fichier_test.xls > ./excel/fichier_csv.csv
Elle fonctionne correctement directement via le terminal : elle permet de transformer un fichier .xls en fichier .csv.
Je souhaiterais pouvoir exécuter cette commande via PHP avec il me semble la fonction exec() de PHP. Mais sans réussite.
Voici le code que j'ai développer :
<?php
class Export_Excel
{
var $command;
function Export_Excel()
{
$this->command = "xls2csv";
}
function xls2csv($path,$xls_file,$short_name)
{
$cmd = "$this->command -q 0 $path/$xls_file";
$cmd .= " > $path/$short_name.csv";
@exec($cmd,$stdout,$errocode);
unlink("$path/$xls_file");
if ($errorcode > 0)
{
echo "<br />Erreur : ".$errocode;
}
echo "<br />".$cmd;
}
}
$chemin = "./excel";
$fichier = "fichier_test.xls";
$nom_csv = "fichier_csv";
$objet = new Export_Excel();
$objet -> xls2csv($chemin, $fichier, $nom_csv);
?>
J'ai l'impression que c'est un problème de droit de l'utilisateur httpd.
Si vous pouvez me donner des pistes afin que je puisse résoudre cette énigme.
Je vous remercie d'avance.